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
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
linux-hyperv@vger.kernel.org
Subject: Re: [PATCH net-next] net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)
Date: Wed, 7 Apr 2021 09:30:42 +0800 [thread overview]
Message-ID: <202104070929.mWRaVyO2-lkp@intel.com> (raw)
In-Reply-To: <20210406232321.12104-1-decui@microsoft.com>
[-- Attachment #1: Type: text/plain, Size: 20581 bytes --]
Hi Dexuan,
I love your patch! Perhaps something to improve:
[auto build test WARNING 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/20210407-072552
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git cc0626c2aaed8e475efdd85fa374b497a7192e35
config: i386-randconfig-m021-20210406 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/f086d8bc693c2686de24a81398e49496ab3747a9
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/20210407-072552
git checkout f086d8bc693c2686de24a81398e49496ab3747a9
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers/pci/controller/pci-hyperv.c: In function 'hv_irq_unmask':
drivers/pci/controller/pci-hyperv.c:1220:2: error: implicit declaration of function 'hv_set_msi_entry_from_desc' [-Werror=implicit-function-declaration]
1220 | hv_set_msi_entry_from_desc(¶ms->int_entry.msi_entry, msi_desc);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-hyperv.c:1252:13: error: implicit declaration of function 'cpumask_to_vpset'; did you mean 'cpumask_subset'? [-Werror=implicit-function-declaration]
1252 | nr_bank = cpumask_to_vpset(¶ms->int_target.vp_set, tmp);
| ^~~~~~~~~~~~~~~~
| cpumask_subset
drivers/pci/controller/pci-hyperv.c:1269:14: error: implicit declaration of function 'hv_cpu_number_to_vp_number' [-Werror=implicit-function-declaration]
1269 | (1ULL << hv_cpu_number_to_vp_number(cpu));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-hyperv.c: In function 'prepopulate_bars':
>> drivers/pci/controller/pci-hyperv.c:1756:26: warning: right shift count >= width of type [-Wshift-count-overflow]
1756 | 4, (u32)(high_base >> 32));
| ^~
drivers/pci/controller/pci-hyperv.c: In function 'hv_pci_onchannelcallback':
>> drivers/pci/controller/pci-hyperv.c:2438:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
2438 | comp_packet = (struct pci_packet *)req_id;
| ^
In file included from include/linux/device.h:15,
from include/linux/pci.h:37,
from drivers/pci/controller/pci-hyperv.c:42:
drivers/pci/controller/pci-hyperv.c: In function 'hv_pci_allocate_bridge_windows':
>> drivers/pci/controller/pci-hyperv.c:2675:5: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'resource_size_t' {aka 'unsigned int'} [-Wformat=]
2675 | "Need %#llx of low MMIO space. Consider reconfiguring the VM.\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt'
19 | #define dev_fmt(fmt) fmt
| ^~~
drivers/pci/controller/pci-hyperv.c:2674:4: note: in expansion of macro 'dev_err'
2674 | dev_err(&hbus->hdev->device,
| ^~~~~~~
drivers/pci/controller/pci-hyperv.c:2675:15: note: format string is defined here
2675 | "Need %#llx of low MMIO space. Consider reconfiguring the VM.\n",
| ~~~~^
| |
| long long unsigned int
| %#x
>> drivers/pci/controller/pci-hyperv.c:2690:8: warning: unsigned conversion from 'long long int' to 'resource_size_t' {aka 'unsigned int'} changes value from '4294967296' to '0' [-Woverflow]
2690 | 0x100000000, -1,
| ^~~~~~~~~~~
In file included from include/linux/device.h:15,
from include/linux/pci.h:37,
from drivers/pci/controller/pci-hyperv.c:42:
drivers/pci/controller/pci-hyperv.c:2695:5: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'resource_size_t' {aka 'unsigned int'} [-Wformat=]
2695 | "Need %#llx of high MMIO space. Consider reconfiguring the VM.\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt'
19 | #define dev_fmt(fmt) fmt
| ^~~
drivers/pci/controller/pci-hyperv.c:2694:4: note: in expansion of macro 'dev_err'
2694 | dev_err(&hbus->hdev->device,
| ^~~~~~~
drivers/pci/controller/pci-hyperv.c:2695:15: note: format string is defined here
2695 | "Need %#llx of high MMIO space. Consider reconfiguring the VM.\n",
| ~~~~^
| |
| long long unsigned int
| %#x
cc1: some warnings being treated as errors
--
drivers/net/ethernet/microsoft/mana/gdma_main.c: In function 'gdma_r64':
drivers/net/ethernet/microsoft/mana/gdma_main.c:18:9: error: implicit declaration of function 'readq'; did you mean 'readl'? [-Werror=implicit-function-declaration]
18 | return readq(g->bar0_va + offset);
| ^~~~~
| readl
drivers/net/ethernet/microsoft/mana/gdma_main.c: In function 'gdma_ring_doorbell':
drivers/net/ethernet/microsoft/mana/gdma_main.c:259:2: error: implicit declaration of function 'writeq'; did you mean 'writel'? [-Werror=implicit-function-declaration]
259 | writeq(e.as_uint64, addr);
| ^~~~~~
| writel
drivers/net/ethernet/microsoft/mana/gdma_main.c: In function 'gdma_write_sgl':
>> drivers/net/ethernet/microsoft/mana/gdma_main.c:1090:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1090 | address = (u8 *)wqe_req->sgl[i].address;
| ^
cc1: some warnings being treated as errors
--
drivers/net/ethernet/microsoft/mana/hw_channel.c: In function 'hwc_post_rx_wqe':
>> drivers/net/ethernet/microsoft/mana/hw_channel.c:88:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
88 | sge->address = (u64)req->buf_sge_addr;
| ^
drivers/net/ethernet/microsoft/mana/hw_channel.c: In function 'hwc_post_tx_wqe':
drivers/net/ethernet/microsoft/mana/hw_channel.c:542:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
542 | sge->address = (u64)req->buf_sge_addr;
| ^
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
vim +1756 drivers/pci/controller/pci-hyperv.c
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1671
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1672 /**
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1673 * prepopulate_bars() - Fill in BARs with defaults
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1674 * @hbus: Root PCI bus, as understood by this driver
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1675 *
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1676 * The core PCI driver code seems much, much happier if the BARs
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1677 * for a device have values upon first scan. So fill them in.
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1678 * The algorithm below works down from large sizes to small,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1679 * attempting to pack the assignments optimally. The assumption,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1680 * enforced in other parts of the code, is that the beginning of
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1681 * the memory-mapped I/O space will be aligned on the largest
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1682 * BAR size.
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1683 */
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1684 static void prepopulate_bars(struct hv_pcibus_device *hbus)
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1685 {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1686 resource_size_t high_size = 0;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1687 resource_size_t low_size = 0;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1688 resource_size_t high_base = 0;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1689 resource_size_t low_base = 0;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1690 resource_size_t bar_size;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1691 struct hv_pci_dev *hpdev;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1692 unsigned long flags;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1693 u64 bar_val;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1694 u32 command;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1695 bool high;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1696 int i;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1697
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1698 if (hbus->low_mmio_space) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1699 low_size = 1ULL << (63 - __builtin_clzll(hbus->low_mmio_space));
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1700 low_base = hbus->low_mmio_res->start;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1701 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1702
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1703 if (hbus->high_mmio_space) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1704 high_size = 1ULL <<
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1705 (63 - __builtin_clzll(hbus->high_mmio_space));
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1706 high_base = hbus->high_mmio_res->start;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1707 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1708
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1709 spin_lock_irqsave(&hbus->device_list_lock, flags);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1710
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1711 /*
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1712 * Clear the memory enable bit, in case it's already set. This occurs
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1713 * in the suspend path of hibernation, where the device is suspended,
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1714 * resumed and suspended again: see hibernation_snapshot() and
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1715 * hibernation_platform_enter().
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1716 *
c77bfb54174308 drivers/pci/controller/pci-hyperv.c Bjorn Helgaas 2021-01-26 1717 * If the memory enable bit is already set, Hyper-V silently ignores
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1718 * the below BAR updates, and the related PCI device driver can not
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1719 * work, because reading from the device register(s) always returns
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1720 * 0xFFFFFFFF.
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1721 */
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1722 list_for_each_entry(hpdev, &hbus->children, list_entry) {
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1723 _hv_pcifront_read_config(hpdev, PCI_COMMAND, 2, &command);
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1724 command &= ~PCI_COMMAND_MEMORY;
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1725 _hv_pcifront_write_config(hpdev, PCI_COMMAND, 2, command);
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1726 }
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1727
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1728 /* Pick addresses for the BARs. */
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1729 do {
5b8db8f66e08fa drivers/pci/host/pci-hyperv.c Stephen Hemminger 2018-05-23 1730 list_for_each_entry(hpdev, &hbus->children, list_entry) {
c9c13ba428ef90 drivers/pci/controller/pci-hyperv.c Denis Efremov 2019-09-28 1731 for (i = 0; i < PCI_STD_NUM_BARS; i++) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1732 bar_val = hpdev->probed_bar[i];
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1733 if (bar_val == 0)
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1734 continue;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1735 high = bar_val & PCI_BASE_ADDRESS_MEM_TYPE_64;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1736 if (high) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1737 bar_val |=
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1738 ((u64)hpdev->probed_bar[i + 1]
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1739 << 32);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1740 } else {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1741 bar_val |= 0xffffffffULL << 32;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1742 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1743 bar_size = get_bar_size(bar_val);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1744 if (high) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1745 if (high_size != bar_size) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1746 i++;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1747 continue;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1748 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1749 _hv_pcifront_write_config(hpdev,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1750 PCI_BASE_ADDRESS_0 + (4 * i),
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1751 4,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1752 (u32)(high_base & 0xffffff00));
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1753 i++;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1754 _hv_pcifront_write_config(hpdev,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1755 PCI_BASE_ADDRESS_0 + (4 * i),
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 @1756 4, (u32)(high_base >> 32));
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1757 high_base += bar_size;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1758 } else {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1759 if (low_size != bar_size)
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1760 continue;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1761 _hv_pcifront_write_config(hpdev,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1762 PCI_BASE_ADDRESS_0 + (4 * i),
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1763 4,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1764 (u32)(low_base & 0xffffff00));
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1765 low_base += bar_size;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1766 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1767 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1768 if (high_size <= 1 && low_size <= 1) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1769 /* Set the memory enable bit. */
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1770 _hv_pcifront_read_config(hpdev, PCI_COMMAND, 2,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1771 &command);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1772 command |= PCI_COMMAND_MEMORY;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1773 _hv_pcifront_write_config(hpdev, PCI_COMMAND, 2,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1774 command);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1775 break;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1776 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1777 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1778
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1779 high_size >>= 1;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1780 low_size >>= 1;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1781 } while (high_size || low_size);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1782
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1783 spin_unlock_irqrestore(&hbus->device_list_lock, flags);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1784 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1785
---
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: 40247 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH net-next] net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)
Date: Wed, 07 Apr 2021 09:30:42 +0800 [thread overview]
Message-ID: <202104070929.mWRaVyO2-lkp@intel.com> (raw)
In-Reply-To: <20210406232321.12104-1-decui@microsoft.com>
[-- Attachment #1: Type: text/plain, Size: 20820 bytes --]
Hi Dexuan,
I love your patch! Perhaps something to improve:
[auto build test WARNING 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/20210407-072552
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git cc0626c2aaed8e475efdd85fa374b497a7192e35
config: i386-randconfig-m021-20210406 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/f086d8bc693c2686de24a81398e49496ab3747a9
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/20210407-072552
git checkout f086d8bc693c2686de24a81398e49496ab3747a9
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers/pci/controller/pci-hyperv.c: In function 'hv_irq_unmask':
drivers/pci/controller/pci-hyperv.c:1220:2: error: implicit declaration of function 'hv_set_msi_entry_from_desc' [-Werror=implicit-function-declaration]
1220 | hv_set_msi_entry_from_desc(¶ms->int_entry.msi_entry, msi_desc);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-hyperv.c:1252:13: error: implicit declaration of function 'cpumask_to_vpset'; did you mean 'cpumask_subset'? [-Werror=implicit-function-declaration]
1252 | nr_bank = cpumask_to_vpset(¶ms->int_target.vp_set, tmp);
| ^~~~~~~~~~~~~~~~
| cpumask_subset
drivers/pci/controller/pci-hyperv.c:1269:14: error: implicit declaration of function 'hv_cpu_number_to_vp_number' [-Werror=implicit-function-declaration]
1269 | (1ULL << hv_cpu_number_to_vp_number(cpu));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pci-hyperv.c: In function 'prepopulate_bars':
>> drivers/pci/controller/pci-hyperv.c:1756:26: warning: right shift count >= width of type [-Wshift-count-overflow]
1756 | 4, (u32)(high_base >> 32));
| ^~
drivers/pci/controller/pci-hyperv.c: In function 'hv_pci_onchannelcallback':
>> drivers/pci/controller/pci-hyperv.c:2438:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
2438 | comp_packet = (struct pci_packet *)req_id;
| ^
In file included from include/linux/device.h:15,
from include/linux/pci.h:37,
from drivers/pci/controller/pci-hyperv.c:42:
drivers/pci/controller/pci-hyperv.c: In function 'hv_pci_allocate_bridge_windows':
>> drivers/pci/controller/pci-hyperv.c:2675:5: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'resource_size_t' {aka 'unsigned int'} [-Wformat=]
2675 | "Need %#llx of low MMIO space. Consider reconfiguring the VM.\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt'
19 | #define dev_fmt(fmt) fmt
| ^~~
drivers/pci/controller/pci-hyperv.c:2674:4: note: in expansion of macro 'dev_err'
2674 | dev_err(&hbus->hdev->device,
| ^~~~~~~
drivers/pci/controller/pci-hyperv.c:2675:15: note: format string is defined here
2675 | "Need %#llx of low MMIO space. Consider reconfiguring the VM.\n",
| ~~~~^
| |
| long long unsigned int
| %#x
>> drivers/pci/controller/pci-hyperv.c:2690:8: warning: unsigned conversion from 'long long int' to 'resource_size_t' {aka 'unsigned int'} changes value from '4294967296' to '0' [-Woverflow]
2690 | 0x100000000, -1,
| ^~~~~~~~~~~
In file included from include/linux/device.h:15,
from include/linux/pci.h:37,
from drivers/pci/controller/pci-hyperv.c:42:
drivers/pci/controller/pci-hyperv.c:2695:5: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'resource_size_t' {aka 'unsigned int'} [-Wformat=]
2695 | "Need %#llx of high MMIO space. Consider reconfiguring the VM.\n",
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:19:22: note: in definition of macro 'dev_fmt'
19 | #define dev_fmt(fmt) fmt
| ^~~
drivers/pci/controller/pci-hyperv.c:2694:4: note: in expansion of macro 'dev_err'
2694 | dev_err(&hbus->hdev->device,
| ^~~~~~~
drivers/pci/controller/pci-hyperv.c:2695:15: note: format string is defined here
2695 | "Need %#llx of high MMIO space. Consider reconfiguring the VM.\n",
| ~~~~^
| |
| long long unsigned int
| %#x
cc1: some warnings being treated as errors
--
drivers/net/ethernet/microsoft/mana/gdma_main.c: In function 'gdma_r64':
drivers/net/ethernet/microsoft/mana/gdma_main.c:18:9: error: implicit declaration of function 'readq'; did you mean 'readl'? [-Werror=implicit-function-declaration]
18 | return readq(g->bar0_va + offset);
| ^~~~~
| readl
drivers/net/ethernet/microsoft/mana/gdma_main.c: In function 'gdma_ring_doorbell':
drivers/net/ethernet/microsoft/mana/gdma_main.c:259:2: error: implicit declaration of function 'writeq'; did you mean 'writel'? [-Werror=implicit-function-declaration]
259 | writeq(e.as_uint64, addr);
| ^~~~~~
| writel
drivers/net/ethernet/microsoft/mana/gdma_main.c: In function 'gdma_write_sgl':
>> drivers/net/ethernet/microsoft/mana/gdma_main.c:1090:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
1090 | address = (u8 *)wqe_req->sgl[i].address;
| ^
cc1: some warnings being treated as errors
--
drivers/net/ethernet/microsoft/mana/hw_channel.c: In function 'hwc_post_rx_wqe':
>> drivers/net/ethernet/microsoft/mana/hw_channel.c:88:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
88 | sge->address = (u64)req->buf_sge_addr;
| ^
drivers/net/ethernet/microsoft/mana/hw_channel.c: In function 'hwc_post_tx_wqe':
drivers/net/ethernet/microsoft/mana/hw_channel.c:542:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
542 | sge->address = (u64)req->buf_sge_addr;
| ^
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
vim +1756 drivers/pci/controller/pci-hyperv.c
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1671
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1672 /**
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1673 * prepopulate_bars() - Fill in BARs with defaults
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1674 * @hbus: Root PCI bus, as understood by this driver
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1675 *
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1676 * The core PCI driver code seems much, much happier if the BARs
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1677 * for a device have values upon first scan. So fill them in.
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1678 * The algorithm below works down from large sizes to small,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1679 * attempting to pack the assignments optimally. The assumption,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1680 * enforced in other parts of the code, is that the beginning of
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1681 * the memory-mapped I/O space will be aligned on the largest
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1682 * BAR size.
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1683 */
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1684 static void prepopulate_bars(struct hv_pcibus_device *hbus)
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1685 {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1686 resource_size_t high_size = 0;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1687 resource_size_t low_size = 0;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1688 resource_size_t high_base = 0;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1689 resource_size_t low_base = 0;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1690 resource_size_t bar_size;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1691 struct hv_pci_dev *hpdev;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1692 unsigned long flags;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1693 u64 bar_val;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1694 u32 command;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1695 bool high;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1696 int i;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1697
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1698 if (hbus->low_mmio_space) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1699 low_size = 1ULL << (63 - __builtin_clzll(hbus->low_mmio_space));
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1700 low_base = hbus->low_mmio_res->start;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1701 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1702
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1703 if (hbus->high_mmio_space) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1704 high_size = 1ULL <<
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1705 (63 - __builtin_clzll(hbus->high_mmio_space));
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1706 high_base = hbus->high_mmio_res->start;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1707 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1708
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1709 spin_lock_irqsave(&hbus->device_list_lock, flags);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1710
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1711 /*
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1712 * Clear the memory enable bit, in case it's already set. This occurs
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1713 * in the suspend path of hibernation, where the device is suspended,
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1714 * resumed and suspended again: see hibernation_snapshot() and
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1715 * hibernation_platform_enter().
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1716 *
c77bfb54174308 drivers/pci/controller/pci-hyperv.c Bjorn Helgaas 2021-01-26 1717 * If the memory enable bit is already set, Hyper-V silently ignores
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1718 * the below BAR updates, and the related PCI device driver can not
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1719 * work, because reading from the device register(s) always returns
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1720 * 0xFFFFFFFF.
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1721 */
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1722 list_for_each_entry(hpdev, &hbus->children, list_entry) {
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1723 _hv_pcifront_read_config(hpdev, PCI_COMMAND, 2, &command);
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1724 command &= ~PCI_COMMAND_MEMORY;
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1725 _hv_pcifront_write_config(hpdev, PCI_COMMAND, 2, command);
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1726 }
ac82fc83270884 drivers/pci/controller/pci-hyperv.c Dexuan Cui 2019-11-24 1727
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1728 /* Pick addresses for the BARs. */
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1729 do {
5b8db8f66e08fa drivers/pci/host/pci-hyperv.c Stephen Hemminger 2018-05-23 1730 list_for_each_entry(hpdev, &hbus->children, list_entry) {
c9c13ba428ef90 drivers/pci/controller/pci-hyperv.c Denis Efremov 2019-09-28 1731 for (i = 0; i < PCI_STD_NUM_BARS; i++) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1732 bar_val = hpdev->probed_bar[i];
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1733 if (bar_val == 0)
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1734 continue;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1735 high = bar_val & PCI_BASE_ADDRESS_MEM_TYPE_64;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1736 if (high) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1737 bar_val |=
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1738 ((u64)hpdev->probed_bar[i + 1]
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1739 << 32);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1740 } else {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1741 bar_val |= 0xffffffffULL << 32;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1742 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1743 bar_size = get_bar_size(bar_val);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1744 if (high) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1745 if (high_size != bar_size) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1746 i++;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1747 continue;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1748 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1749 _hv_pcifront_write_config(hpdev,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1750 PCI_BASE_ADDRESS_0 + (4 * i),
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1751 4,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1752 (u32)(high_base & 0xffffff00));
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1753 i++;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1754 _hv_pcifront_write_config(hpdev,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1755 PCI_BASE_ADDRESS_0 + (4 * i),
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 @1756 4, (u32)(high_base >> 32));
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1757 high_base += bar_size;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1758 } else {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1759 if (low_size != bar_size)
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1760 continue;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1761 _hv_pcifront_write_config(hpdev,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1762 PCI_BASE_ADDRESS_0 + (4 * i),
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1763 4,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1764 (u32)(low_base & 0xffffff00));
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1765 low_base += bar_size;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1766 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1767 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1768 if (high_size <= 1 && low_size <= 1) {
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1769 /* Set the memory enable bit. */
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1770 _hv_pcifront_read_config(hpdev, PCI_COMMAND, 2,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1771 &command);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1772 command |= PCI_COMMAND_MEMORY;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1773 _hv_pcifront_write_config(hpdev, PCI_COMMAND, 2,
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1774 command);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1775 break;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1776 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1777 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1778
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1779 high_size >>= 1;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1780 low_size >>= 1;
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1781 } while (high_size || low_size);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1782
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1783 spin_unlock_irqrestore(&hbus->device_list_lock, flags);
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1784 }
4daace0d8ce851 drivers/pci/host/pci-hyperv.c Jake Oshins 2016-02-16 1785
---
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: 40247 bytes --]
next prev parent reply other threads:[~2021-04-07 1:31 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-06 23:23 [PATCH net-next] net: mana: Add a driver for Microsoft Azure Network Adapter (MANA) Dexuan Cui
2021-04-07 1:07 ` Andrew Lunn
2021-04-07 8:02 ` Dexuan Cui
2021-04-07 8:15 ` Leon Romanovsky
2021-04-07 8:28 ` Dexuan Cui
2021-04-07 12:44 ` Leon Romanovsky
2021-04-07 21:59 ` Dexuan Cui
2021-04-07 22:37 ` Bernd Petrovitsch
2021-04-08 7:30 ` Leon Romanovsky
2021-04-07 12:19 ` Andrew Lunn
2021-04-07 1:30 ` kernel test robot [this message]
2021-04-07 1:30 ` kernel test robot
2021-04-07 8:08 ` Dexuan Cui
2021-04-07 8:08 ` Dexuan Cui
2021-04-07 13:02 ` Wei Liu
2021-04-07 13:02 ` Wei Liu
2021-04-07 1:52 ` kernel test robot
2021-04-07 1:52 ` kernel test robot
2021-04-07 1:53 ` kernel test robot
2021-04-07 1:53 ` kernel test robot
2021-04-07 8:10 ` Leon Romanovsky
2021-04-07 8:40 ` Dexuan Cui
2021-04-07 12:51 ` Leon Romanovsky
2021-04-07 14:41 ` Haiyang Zhang
2021-04-07 14:55 ` Leon Romanovsky
2021-04-07 15:05 ` Haiyang Zhang
2021-04-07 17:07 ` Leon Romanovsky
2021-04-07 13:17 ` Wei Liu
2021-04-07 14:34 ` Haiyang Zhang
2021-04-07 15:00 ` Wei Liu
2021-04-07 15:16 ` Haiyang Zhang
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=202104070929.mWRaVyO2-lkp@intel.com \
--to=lkp@intel.com \
--cc=davem@davemloft.net \
--cc=decui@microsoft.com \
--cc=haiyangz@microsoft.com \
--cc=kbuild-all@lists.01.org \
--cc=kuba@kernel.org \
--cc=kys@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liuwe@microsoft.com \
--cc=netdev@vger.kernel.org \
--cc=sthemmin@microsoft.com \
--cc=wei.liu@kernel.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.