All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v2 net-next] net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)
Date: Thu, 08 Apr 2021 22:41:24 +0800	[thread overview]
Message-ID: <202104082227.kBLPBhig-lkp@intel.com> (raw)
In-Reply-To: <20210408091543.22369-1-decui@microsoft.com>

[-- Attachment #1: Type: text/plain, Size: 21307 bytes --]

Hi Dexuan,

I love your patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Dexuan-Cui/net-mana-Add-a-driver-for-Microsoft-Azure-Network-Adapter-MANA/20210408-171836
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 3cd52c1e32fe7dfee09815ced702db9ee9f84ec9
config: x86_64-randconfig-a014-20210408 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 56ea2e2fdd691136d5e6631fa0e447173694b82c)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/14f90d1ae32a997faf622ab0612fc69eb13edc82
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Dexuan-Cui/net-mana-Add-a-driver-for-Microsoft-Azure-Network-Adapter-MANA/20210408-171836
        git checkout 14f90d1ae32a997faf622ab0612fc69eb13edc82
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

>> drivers/pci/controller/pci-hyperv.c:1220:2: error: implicit declaration of function 'hv_set_msi_entry_from_desc' [-Werror,-Wimplicit-function-declaration]
           hv_set_msi_entry_from_desc(&params->int_entry.msi_entry, msi_desc);
           ^
>> drivers/pci/controller/pci-hyperv.c:1252:13: error: implicit declaration of function 'cpumask_to_vpset' [-Werror,-Wimplicit-function-declaration]
                   nr_bank = cpumask_to_vpset(&params->int_target.vp_set, tmp);
                             ^
   drivers/pci/controller/pci-hyperv.c:1252:13: note: did you mean 'cpumask_subset'?
   include/linux/cpumask.h:538:19: note: 'cpumask_subset' declared here
   static inline int cpumask_subset(const struct cpumask *src1p,
                     ^
>> drivers/pci/controller/pci-hyperv.c:1269:14: error: implicit declaration of function 'hv_cpu_number_to_vp_number' [-Werror,-Wimplicit-function-declaration]
                                   (1ULL << hv_cpu_number_to_vp_number(cpu));
                                            ^
   drivers/pci/controller/pci-hyperv.c:1356:3: error: implicit declaration of function 'hv_cpu_number_to_vp_number' [-Werror,-Wimplicit-function-declaration]
                   hv_cpu_number_to_vp_number(cpu);
                   ^
   4 errors generated.
--
>> drivers/net/ethernet/microsoft/mana/gdma_main.c:363:12: warning: variable 'gc' is uninitialized when used here [-Wuninitialized]
                           dev_err(gc->dev, "EQ %d: overflow detected\n", eq->id);
                                   ^~
   include/linux/dev_printk.h:112:11: note: expanded from macro 'dev_err'
           _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__)
                    ^~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:340:25: note: initialize the variable 'gc' to silence this warning
           struct gdma_context *gc;
                                  ^
                                   = NULL
>> drivers/net/ethernet/microsoft/mana/gdma_main.c:1405:6: warning: variable 'gc' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (err)
               ^~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1469:10: note: uninitialized use occurs here
           dev_err(gc->dev, "gdma probe failed: err = %d\n", err);
                   ^~
   include/linux/dev_printk.h:112:11: note: expanded from macro 'dev_err'
           _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__)
                    ^~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1405:2: note: remove the 'if' if its condition is always false
           if (err)
           ^~~~~~~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1401:6: warning: variable 'gc' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (err)
               ^~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1469:10: note: uninitialized use occurs here
           dev_err(gc->dev, "gdma probe failed: err = %d\n", err);
                   ^~
   include/linux/dev_printk.h:112:11: note: expanded from macro 'dev_err'
           _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__)
                    ^~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1401:2: note: remove the 'if' if its condition is always false
           if (err)
           ^~~~~~~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1389:25: note: initialize the variable 'gc' to silence this warning
           struct gdma_context *gc;
                                  ^
                                   = NULL
   3 warnings generated.
--
>> drivers/net/ethernet/microsoft/mana/hw_channel.c:60:6: warning: variable 'ctx' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (!test_bit(resp_msg->response.hwc_msg_id,
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/microsoft/mana/hw_channel.c:77:2: note: uninitialized use occurs here
           ctx->error = err;
           ^~~
   drivers/net/ethernet/microsoft/mana/hw_channel.c:60:2: note: remove the 'if' if its condition is always false
           if (!test_bit(resp_msg->response.hwc_msg_id,
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/microsoft/mana/hw_channel.c:57:28: note: initialize the variable 'ctx' to silence this warning
           struct hwc_caller_ctx *ctx;
                                     ^
                                      = NULL
   1 warning generated.
--
>> drivers/net/ethernet/microsoft/mana/mana_en.c:622:25: warning: address of array 'ac->hashkey' will always evaluate to 'true' [-Wpointer-bool-conversion]
           if (update_key && !ac->hashkey)
                             ~~~~~^~~~~~~
>> drivers/net/ethernet/microsoft/mana/mana_en.c:625:25: warning: address of array 'ac->rxobj_table' will always evaluate to 'true' [-Wpointer-bool-conversion]
           if (update_tab && !ac->rxobj_table)
                             ~~~~~^~~~~~~~~~~
   2 warnings generated.

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for PCI_HYPERV
   Depends on PCI && X86_64 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && SYSFS
   Selected by
   - MICROSOFT_MANA && NETDEVICES && ETHERNET && NET_VENDOR_MICROSOFT && PCI_MSI && X86_64


vim +/hv_set_msi_entry_from_desc +1220 drivers/pci/controller/pci-hyperv.c

4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1183  
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1184  /**
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1185   * hv_irq_unmask() - "Unmask" the IRQ by setting its current
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1186   * affinity.
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1187   * @data:	Describes the IRQ
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1188   *
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1189   * Build new a destination for the MSI and make a hypercall to
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1190   * update the Interrupt Redirection Table. "Device Logical ID"
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1191   * is built out of this PCI bus's instance GUID and the function
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1192   * number of the device.
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1193   */
542ccf4551fa01 drivers/pci/host/pci-hyperv.c       Tobias Klauser   2016-10-31  1194  static void hv_irq_unmask(struct irq_data *data)
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1195  {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1196  	struct msi_desc *msi_desc = irq_data_get_msi_desc(data);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1197  	struct irq_cfg *cfg = irqd_cfg(data);
61bfd920abbf2c drivers/pci/controller/pci-hyperv.c Boqun Feng       2020-02-10  1198  	struct hv_retarget_device_interrupt *params;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1199  	struct hv_pcibus_device *hbus;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1200  	struct cpumask *dest;
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1201  	cpumask_var_t tmp;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1202  	struct pci_bus *pbus;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1203  	struct pci_dev *pdev;
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1204  	unsigned long flags;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1205  	u32 var_size = 0;
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1206  	int cpu, nr_bank;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1207  	u64 res;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1208  
79aa801e899417 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2017-11-01  1209  	dest = irq_data_get_effective_affinity_mask(data);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1210  	pdev = msi_desc_to_pci_dev(msi_desc);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1211  	pbus = pdev->bus;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1212  	hbus = container_of(pbus->sysdata, struct hv_pcibus_device, sysdata);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1213  
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1214  	spin_lock_irqsave(&hbus->retarget_msi_interrupt_lock, flags);
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1215  
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1216  	params = &hbus->retarget_msi_interrupt_params;
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1217  	memset(params, 0, sizeof(*params));
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1218  	params->partition_id = HV_PARTITION_ID_SELF;
b59fb7b60d47b2 drivers/pci/controller/pci-hyperv.c Wei Liu          2021-02-03  1219  	params->int_entry.source = HV_INTERRUPT_SOURCE_MSI;
1cf106d93245f4 drivers/pci/controller/pci-hyperv.c Boqun Feng       2020-02-10 @1220  	hv_set_msi_entry_from_desc(&params->int_entry.msi_entry, msi_desc);
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1221  	params->device_id = (hbus->hdev->dev_instance.b[5] << 24) |
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1222  			   (hbus->hdev->dev_instance.b[4] << 16) |
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1223  			   (hbus->hdev->dev_instance.b[7] << 8) |
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1224  			   (hbus->hdev->dev_instance.b[6] & 0xf8) |
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1225  			   PCI_FUNC(pdev->devfn);
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1226  	params->int_target.vector = cfg->vector;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1227  
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1228  	/*
721612994f53ed drivers/pci/controller/pci-hyperv.c Thomas Gleixner  2020-10-24  1229  	 * Honoring apic->delivery_mode set to APIC_DELIVERY_MODE_FIXED by
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1230  	 * setting the HV_DEVICE_INTERRUPT_TARGET_MULTICAST flag results in a
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1231  	 * spurious interrupt storm. Not doing so does not seem to have a
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1232  	 * negative effect (yet?).
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1233  	 */
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1234  
14ef39fddd2367 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2019-11-24  1235  	if (hbus->protocol_version >= PCI_PROTOCOL_VERSION_1_2) {
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1236  		/*
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1237  		 * PCI_PROTOCOL_VERSION_1_2 supports the VP_SET version of the
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1238  		 * HVCALL_RETARGET_INTERRUPT hypercall, which also coincides
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1239  		 * with >64 VP support.
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1240  		 * ms_hyperv.hints & HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1241  		 * is not sufficient for this hypercall.
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1242  		 */
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1243  		params->int_target.flags |=
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1244  			HV_DEVICE_INTERRUPT_TARGET_PROCESSOR_SET;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1245  
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1246  		if (!alloc_cpumask_var(&tmp, GFP_ATOMIC)) {
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1247  			res = 1;
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1248  			goto exit_unlock;
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1249  		}
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1250  
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1251  		cpumask_and(tmp, dest, cpu_online_mask);
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01 @1252  		nr_bank = cpumask_to_vpset(&params->int_target.vp_set, tmp);
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1253  		free_cpumask_var(tmp);
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1254  
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1255  		if (nr_bank <= 0) {
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1256  			res = 1;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1257  			goto exit_unlock;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1258  		}
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1259  
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1260  		/*
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1261  		 * var-sized hypercall, var-size starts after vp_mask (thus
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1262  		 * vp_set.format does not count, but vp_set.valid_bank_mask
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1263  		 * does).
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1264  		 */
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1265  		var_size = 1 + nr_bank;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1266  	} else {
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1267  		for_each_cpu_and(cpu, dest, cpu_online_mask) {
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1268  			params->int_target.vp_mask |=
7415aea6072bab drivers/pci/host/pci-hyperv.c       Vitaly Kuznetsov 2017-08-02 @1269  				(1ULL << hv_cpu_number_to_vp_number(cpu));
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1270  		}
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1271  	}
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1272  
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1273  	res = hv_do_hypercall(HVCALL_RETARGET_INTERRUPT | (var_size << 17),
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1274  			      params, NULL);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1275  
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1276  exit_unlock:
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1277  	spin_unlock_irqrestore(&hbus->retarget_msi_interrupt_lock, flags);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1278  
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1279  	/*
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1280  	 * During hibernation, when a CPU is offlined, the kernel tries
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1281  	 * to move the interrupt to the remaining CPUs that haven't
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1282  	 * been offlined yet. In this case, the below hv_do_hypercall()
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1283  	 * always fails since the vmbus channel has been closed:
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1284  	 * refer to cpu_disable_common() -> fixup_irqs() ->
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1285  	 * irq_migrate_all_off_this_cpu() -> migrate_one_irq().
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1286  	 *
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1287  	 * Suppress the error message for hibernation because the failure
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1288  	 * during hibernation does not matter (at this time all the devices
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1289  	 * have been frozen). Note: the correct affinity info is still updated
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1290  	 * into the irqdata data structure in migrate_one_irq() ->
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1291  	 * irq_do_set_affinity() -> hv_set_affinity(), so later when the VM
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1292  	 * resumes, hv_pci_restore_msi_state() is able to correctly restore
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1293  	 * the interrupt with the correct affinity.
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1294  	 */
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1295  	if (res && hbus->state != hv_pcibus_removing)
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1296  		dev_err(&hbus->hdev->device,
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1297  			"%s() failed: %#llx", __func__, res);
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1298  
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1299  	pci_msi_unmask_irq(data);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1300  }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1301  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 46882 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Dexuan Cui <decui@microsoft.com>,
	davem@davemloft.net, kuba@kernel.org, kys@microsoft.com,
	haiyangz@microsoft.com, sthemmin@microsoft.com,
	wei.liu@kernel.org, liuwe@microsoft.com, netdev@vger.kernel.org,
	leon@kernel.org, andrew@lunn.ch
Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com
Subject: Re: [PATCH v2 net-next] net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)
Date: Thu, 8 Apr 2021 22:41:24 +0800	[thread overview]
Message-ID: <202104082227.kBLPBhig-lkp@intel.com> (raw)
In-Reply-To: <20210408091543.22369-1-decui@microsoft.com>

[-- Attachment #1: Type: text/plain, Size: 21065 bytes --]

Hi Dexuan,

I love your patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Dexuan-Cui/net-mana-Add-a-driver-for-Microsoft-Azure-Network-Adapter-MANA/20210408-171836
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 3cd52c1e32fe7dfee09815ced702db9ee9f84ec9
config: x86_64-randconfig-a014-20210408 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 56ea2e2fdd691136d5e6631fa0e447173694b82c)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # https://github.com/0day-ci/linux/commit/14f90d1ae32a997faf622ab0612fc69eb13edc82
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Dexuan-Cui/net-mana-Add-a-driver-for-Microsoft-Azure-Network-Adapter-MANA/20210408-171836
        git checkout 14f90d1ae32a997faf622ab0612fc69eb13edc82
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

>> drivers/pci/controller/pci-hyperv.c:1220:2: error: implicit declaration of function 'hv_set_msi_entry_from_desc' [-Werror,-Wimplicit-function-declaration]
           hv_set_msi_entry_from_desc(&params->int_entry.msi_entry, msi_desc);
           ^
>> drivers/pci/controller/pci-hyperv.c:1252:13: error: implicit declaration of function 'cpumask_to_vpset' [-Werror,-Wimplicit-function-declaration]
                   nr_bank = cpumask_to_vpset(&params->int_target.vp_set, tmp);
                             ^
   drivers/pci/controller/pci-hyperv.c:1252:13: note: did you mean 'cpumask_subset'?
   include/linux/cpumask.h:538:19: note: 'cpumask_subset' declared here
   static inline int cpumask_subset(const struct cpumask *src1p,
                     ^
>> drivers/pci/controller/pci-hyperv.c:1269:14: error: implicit declaration of function 'hv_cpu_number_to_vp_number' [-Werror,-Wimplicit-function-declaration]
                                   (1ULL << hv_cpu_number_to_vp_number(cpu));
                                            ^
   drivers/pci/controller/pci-hyperv.c:1356:3: error: implicit declaration of function 'hv_cpu_number_to_vp_number' [-Werror,-Wimplicit-function-declaration]
                   hv_cpu_number_to_vp_number(cpu);
                   ^
   4 errors generated.
--
>> drivers/net/ethernet/microsoft/mana/gdma_main.c:363:12: warning: variable 'gc' is uninitialized when used here [-Wuninitialized]
                           dev_err(gc->dev, "EQ %d: overflow detected\n", eq->id);
                                   ^~
   include/linux/dev_printk.h:112:11: note: expanded from macro 'dev_err'
           _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__)
                    ^~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:340:25: note: initialize the variable 'gc' to silence this warning
           struct gdma_context *gc;
                                  ^
                                   = NULL
>> drivers/net/ethernet/microsoft/mana/gdma_main.c:1405:6: warning: variable 'gc' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (err)
               ^~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1469:10: note: uninitialized use occurs here
           dev_err(gc->dev, "gdma probe failed: err = %d\n", err);
                   ^~
   include/linux/dev_printk.h:112:11: note: expanded from macro 'dev_err'
           _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__)
                    ^~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1405:2: note: remove the 'if' if its condition is always false
           if (err)
           ^~~~~~~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1401:6: warning: variable 'gc' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (err)
               ^~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1469:10: note: uninitialized use occurs here
           dev_err(gc->dev, "gdma probe failed: err = %d\n", err);
                   ^~
   include/linux/dev_printk.h:112:11: note: expanded from macro 'dev_err'
           _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__)
                    ^~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1401:2: note: remove the 'if' if its condition is always false
           if (err)
           ^~~~~~~~
   drivers/net/ethernet/microsoft/mana/gdma_main.c:1389:25: note: initialize the variable 'gc' to silence this warning
           struct gdma_context *gc;
                                  ^
                                   = NULL
   3 warnings generated.
--
>> drivers/net/ethernet/microsoft/mana/hw_channel.c:60:6: warning: variable 'ctx' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
           if (!test_bit(resp_msg->response.hwc_msg_id,
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/microsoft/mana/hw_channel.c:77:2: note: uninitialized use occurs here
           ctx->error = err;
           ^~~
   drivers/net/ethernet/microsoft/mana/hw_channel.c:60:2: note: remove the 'if' if its condition is always false
           if (!test_bit(resp_msg->response.hwc_msg_id,
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/microsoft/mana/hw_channel.c:57:28: note: initialize the variable 'ctx' to silence this warning
           struct hwc_caller_ctx *ctx;
                                     ^
                                      = NULL
   1 warning generated.
--
>> drivers/net/ethernet/microsoft/mana/mana_en.c:622:25: warning: address of array 'ac->hashkey' will always evaluate to 'true' [-Wpointer-bool-conversion]
           if (update_key && !ac->hashkey)
                             ~~~~~^~~~~~~
>> drivers/net/ethernet/microsoft/mana/mana_en.c:625:25: warning: address of array 'ac->rxobj_table' will always evaluate to 'true' [-Wpointer-bool-conversion]
           if (update_tab && !ac->rxobj_table)
                             ~~~~~^~~~~~~~~~~
   2 warnings generated.

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for PCI_HYPERV
   Depends on PCI && X86_64 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && SYSFS
   Selected by
   - MICROSOFT_MANA && NETDEVICES && ETHERNET && NET_VENDOR_MICROSOFT && PCI_MSI && X86_64


vim +/hv_set_msi_entry_from_desc +1220 drivers/pci/controller/pci-hyperv.c

4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1183  
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1184  /**
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1185   * hv_irq_unmask() - "Unmask" the IRQ by setting its current
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1186   * affinity.
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1187   * @data:	Describes the IRQ
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1188   *
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1189   * Build new a destination for the MSI and make a hypercall to
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1190   * update the Interrupt Redirection Table. "Device Logical ID"
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1191   * is built out of this PCI bus's instance GUID and the function
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1192   * number of the device.
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1193   */
542ccf4551fa01 drivers/pci/host/pci-hyperv.c       Tobias Klauser   2016-10-31  1194  static void hv_irq_unmask(struct irq_data *data)
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1195  {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1196  	struct msi_desc *msi_desc = irq_data_get_msi_desc(data);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1197  	struct irq_cfg *cfg = irqd_cfg(data);
61bfd920abbf2c drivers/pci/controller/pci-hyperv.c Boqun Feng       2020-02-10  1198  	struct hv_retarget_device_interrupt *params;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1199  	struct hv_pcibus_device *hbus;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1200  	struct cpumask *dest;
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1201  	cpumask_var_t tmp;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1202  	struct pci_bus *pbus;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1203  	struct pci_dev *pdev;
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1204  	unsigned long flags;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1205  	u32 var_size = 0;
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1206  	int cpu, nr_bank;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1207  	u64 res;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1208  
79aa801e899417 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2017-11-01  1209  	dest = irq_data_get_effective_affinity_mask(data);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1210  	pdev = msi_desc_to_pci_dev(msi_desc);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1211  	pbus = pdev->bus;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1212  	hbus = container_of(pbus->sysdata, struct hv_pcibus_device, sysdata);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1213  
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1214  	spin_lock_irqsave(&hbus->retarget_msi_interrupt_lock, flags);
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1215  
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1216  	params = &hbus->retarget_msi_interrupt_params;
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1217  	memset(params, 0, sizeof(*params));
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1218  	params->partition_id = HV_PARTITION_ID_SELF;
b59fb7b60d47b2 drivers/pci/controller/pci-hyperv.c Wei Liu          2021-02-03  1219  	params->int_entry.source = HV_INTERRUPT_SOURCE_MSI;
1cf106d93245f4 drivers/pci/controller/pci-hyperv.c Boqun Feng       2020-02-10 @1220  	hv_set_msi_entry_from_desc(&params->int_entry.msi_entry, msi_desc);
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1221  	params->device_id = (hbus->hdev->dev_instance.b[5] << 24) |
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1222  			   (hbus->hdev->dev_instance.b[4] << 16) |
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1223  			   (hbus->hdev->dev_instance.b[7] << 8) |
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1224  			   (hbus->hdev->dev_instance.b[6] & 0xf8) |
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1225  			   PCI_FUNC(pdev->devfn);
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1226  	params->int_target.vector = cfg->vector;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1227  
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1228  	/*
721612994f53ed drivers/pci/controller/pci-hyperv.c Thomas Gleixner  2020-10-24  1229  	 * Honoring apic->delivery_mode set to APIC_DELIVERY_MODE_FIXED by
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1230  	 * setting the HV_DEVICE_INTERRUPT_TARGET_MULTICAST flag results in a
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1231  	 * spurious interrupt storm. Not doing so does not seem to have a
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1232  	 * negative effect (yet?).
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1233  	 */
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1234  
14ef39fddd2367 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2019-11-24  1235  	if (hbus->protocol_version >= PCI_PROTOCOL_VERSION_1_2) {
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1236  		/*
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1237  		 * PCI_PROTOCOL_VERSION_1_2 supports the VP_SET version of the
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1238  		 * HVCALL_RETARGET_INTERRUPT hypercall, which also coincides
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1239  		 * with >64 VP support.
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1240  		 * ms_hyperv.hints & HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1241  		 * is not sufficient for this hypercall.
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1242  		 */
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1243  		params->int_target.flags |=
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1244  			HV_DEVICE_INTERRUPT_TARGET_PROCESSOR_SET;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1245  
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1246  		if (!alloc_cpumask_var(&tmp, GFP_ATOMIC)) {
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1247  			res = 1;
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1248  			goto exit_unlock;
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1249  		}
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1250  
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1251  		cpumask_and(tmp, dest, cpu_online_mask);
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01 @1252  		nr_bank = cpumask_to_vpset(&params->int_target.vp_set, tmp);
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1253  		free_cpumask_var(tmp);
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1254  
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1255  		if (nr_bank <= 0) {
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1256  			res = 1;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1257  			goto exit_unlock;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1258  		}
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1259  
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1260  		/*
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1261  		 * var-sized hypercall, var-size starts after vp_mask (thus
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1262  		 * vp_set.format does not count, but vp_set.valid_bank_mask
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1263  		 * does).
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1264  		 */
c8ccf7599ddac5 drivers/pci/controller/pci-hyperv.c Maya Nakamura    2019-03-01  1265  		var_size = 1 + nr_bank;
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1266  	} else {
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1267  		for_each_cpu_and(cpu, dest, cpu_online_mask) {
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1268  			params->int_target.vp_mask |=
7415aea6072bab drivers/pci/host/pci-hyperv.c       Vitaly Kuznetsov 2017-08-02 @1269  				(1ULL << hv_cpu_number_to_vp_number(cpu));
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1270  		}
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1271  	}
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1272  
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1273  	res = hv_do_hypercall(HVCALL_RETARGET_INTERRUPT | (var_size << 17),
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1274  			      params, NULL);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1275  
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1276  exit_unlock:
0de8ce3ee8e38c drivers/pci/host/pci-hyperv.c       Long Li          2016-11-08  1277  	spin_unlock_irqrestore(&hbus->retarget_msi_interrupt_lock, flags);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1278  
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1279  	/*
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1280  	 * During hibernation, when a CPU is offlined, the kernel tries
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1281  	 * to move the interrupt to the remaining CPUs that haven't
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1282  	 * been offlined yet. In this case, the below hv_do_hypercall()
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1283  	 * always fails since the vmbus channel has been closed:
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1284  	 * refer to cpu_disable_common() -> fixup_irqs() ->
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1285  	 * irq_migrate_all_off_this_cpu() -> migrate_one_irq().
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1286  	 *
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1287  	 * Suppress the error message for hibernation because the failure
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1288  	 * during hibernation does not matter (at this time all the devices
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1289  	 * have been frozen). Note: the correct affinity info is still updated
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1290  	 * into the irqdata data structure in migrate_one_irq() ->
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1291  	 * irq_do_set_affinity() -> hv_set_affinity(), so later when the VM
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1292  	 * resumes, hv_pci_restore_msi_state() is able to correctly restore
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1293  	 * the interrupt with the correct affinity.
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1294  	 */
915cff7f38c5e4 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2020-10-02  1295  	if (res && hbus->state != hv_pcibus_removing)
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1296  		dev_err(&hbus->hdev->device,
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1297  			"%s() failed: %#llx", __func__, res);
7dcf90e9e03243 drivers/pci/host/pci-hyperv.c       Jork Loeser      2017-05-24  1298  
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1299  	pci_msi_unmask_irq(data);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1300  }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  1301  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 46882 bytes --]

  reply	other threads:[~2021-04-08 14:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-08  9:15 [PATCH v2 net-next] net: mana: Add a driver for Microsoft Azure Network Adapter (MANA) Dexuan Cui
2021-04-08 14:41 ` kernel test robot [this message]
2021-04-08 14:41   ` kernel test robot
2021-04-08 16:22 ` Randy Dunlap
2021-04-08 16:40   ` Haiyang Zhang
2021-04-08 16:44     ` Andrew Lunn
2021-04-08 16:48       ` Haiyang Zhang
2021-04-08 16:52   ` Stephen Hemminger
2021-04-08 16:57     ` Haiyang Zhang
2021-04-08 19:36     ` Dexuan Cui
  -- strict thread matches above, loose matches on Subject: below --
2021-04-08 12:08 kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202104082227.kBLPBhig-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.