2021-04-07 13:49:01

by kernel test robot

[permalink] [raw]
Subject: Re: [PATCH net-next] net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)

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 <[email protected]>

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(&params->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(&params->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/[email protected]


Attachments:
(No filename) (20.33 kB)
.config.gz (39.30 kB)
Download all attachments

2021-04-07 20:30:56

by Dexuan Cui

[permalink] [raw]
Subject: RE: [PATCH net-next] net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)

> From: kernel test robot <[email protected]>
> Sent: Tuesday, April 6, 2021 6:31 PM
> ...
> Hi Dexuan,
> I love your patch! Perhaps something to improve:
>
> 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(&params->int_entry.msi_entry,
> msi_desc);

This build error looks strange, because the patch doesn't even touch the driver
drivers/pci/controller/pci-hyperv.c.

I'll try to repro the build failure, and the other 2 failures in 2 separate
emails, and figure out what's happening.

PS, I tested building the patch in a fresh Ubuntu 20.04 VM and it was successful.

Thanks,
-- Dexuan

2021-04-07 20:59:04

by Wei Liu

[permalink] [raw]
Subject: Re: [PATCH net-next] net: mana: Add a driver for Microsoft Azure Network Adapter (MANA)

On Wed, Apr 07, 2021 at 08:08:59AM +0000, Dexuan Cui wrote:
> > From: kernel test robot <[email protected]>
> > Sent: Tuesday, April 6, 2021 6:31 PM
> > ...
> > Hi Dexuan,
> > I love your patch! Perhaps something to improve:
> >
> > 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(&params->int_entry.msi_entry,
> > msi_desc);
>
> This build error looks strange, because the patch doesn't even touch the driver
> drivers/pci/controller/pci-hyperv.c.
>

I think this is normal. The bot doesn't restrict itself to the changed
code from my experience.

Wei.