lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <202007251817.x5EF2Aoc%lkp@intel.com>
Date:   Sat, 25 Jul 2020 18:41:21 +0800
From:   kernel test robot <lkp@...el.com>
To:     Zong-Zhe Yang <kevin_yang@...ltek.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Kalle Valo <kvalo@...eaurora.org>,
        Yan-Hsuan Chuang <yhchuang@...ltek.com>
Subject: drivers/net/wireless/realtek/rtw88/pci.c:1477:5: warning: no
 previous prototype for 'rtw_pci_probe'

Hi Zong-Zhe,

FYI, the error/warning still remains.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   23ee3e4e5bd27bdbc0f1785eef7209ce872794c7
commit: 72f256c2b948622cc45ff8bc0456dd6039d8fe36 rtw88: extract: export symbols about pci interface
date:   10 weeks ago
config: arc-randconfig-r026-20200725 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
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
        git checkout 72f256c2b948622cc45ff8bc0456dd6039d8fe36
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc 

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

All warnings (new ones prefixed by >>):

>> drivers/net/wireless/realtek/rtw88/pci.c:1477:5: warning: no previous prototype for 'rtw_pci_probe' [-Wmissing-prototypes]
    1477 | int rtw_pci_probe(struct pci_dev *pdev,
         |     ^~~~~~~~~~~~~
>> drivers/net/wireless/realtek/rtw88/pci.c:1557:6: warning: no previous prototype for 'rtw_pci_remove' [-Wmissing-prototypes]
    1557 | void rtw_pci_remove(struct pci_dev *pdev)
         |      ^~~~~~~~~~~~~~
>> drivers/net/wireless/realtek/rtw88/pci.c:1579:6: warning: no previous prototype for 'rtw_pci_shutdown' [-Wmissing-prototypes]
    1579 | void rtw_pci_shutdown(struct pci_dev *pdev)
         |      ^~~~~~~~~~~~~~~~

vim +/rtw_pci_probe +1477 drivers/net/wireless/realtek/rtw88/pci.c

  1476	
> 1477	int rtw_pci_probe(struct pci_dev *pdev,
  1478			  const struct pci_device_id *id)
  1479	{
  1480		struct ieee80211_hw *hw;
  1481		struct rtw_dev *rtwdev;
  1482		int drv_data_size;
  1483		int ret;
  1484	
  1485		drv_data_size = sizeof(struct rtw_dev) + sizeof(struct rtw_pci);
  1486		hw = ieee80211_alloc_hw(drv_data_size, &rtw_ops);
  1487		if (!hw) {
  1488			dev_err(&pdev->dev, "failed to allocate hw\n");
  1489			return -ENOMEM;
  1490		}
  1491	
  1492		rtwdev = hw->priv;
  1493		rtwdev->hw = hw;
  1494		rtwdev->dev = &pdev->dev;
  1495		rtwdev->chip = (struct rtw_chip_info *)id->driver_data;
  1496		rtwdev->hci.ops = &rtw_pci_ops;
  1497		rtwdev->hci.type = RTW_HCI_TYPE_PCIE;
  1498	
  1499		ret = rtw_core_init(rtwdev);
  1500		if (ret)
  1501			goto err_release_hw;
  1502	
  1503		rtw_dbg(rtwdev, RTW_DBG_PCI,
  1504			"rtw88 pci probe: vendor=0x%4.04X device=0x%4.04X rev=%d\n",
  1505			pdev->vendor, pdev->device, pdev->revision);
  1506	
  1507		ret = rtw_pci_claim(rtwdev, pdev);
  1508		if (ret) {
  1509			rtw_err(rtwdev, "failed to claim pci device\n");
  1510			goto err_deinit_core;
  1511		}
  1512	
  1513		ret = rtw_pci_setup_resource(rtwdev, pdev);
  1514		if (ret) {
  1515			rtw_err(rtwdev, "failed to setup pci resources\n");
  1516			goto err_pci_declaim;
  1517		}
  1518	
  1519		ret = rtw_chip_info_setup(rtwdev);
  1520		if (ret) {
  1521			rtw_err(rtwdev, "failed to setup chip information\n");
  1522			goto err_destroy_pci;
  1523		}
  1524	
  1525		rtw_pci_phy_cfg(rtwdev);
  1526	
  1527		ret = rtw_register_hw(rtwdev, hw);
  1528		if (ret) {
  1529			rtw_err(rtwdev, "failed to register hw\n");
  1530			goto err_destroy_pci;
  1531		}
  1532	
  1533		ret = rtw_pci_request_irq(rtwdev, pdev);
  1534		if (ret) {
  1535			ieee80211_unregister_hw(hw);
  1536			goto err_destroy_pci;
  1537		}
  1538	
  1539		return 0;
  1540	
  1541	err_destroy_pci:
  1542		rtw_pci_destroy(rtwdev, pdev);
  1543	
  1544	err_pci_declaim:
  1545		rtw_pci_declaim(rtwdev, pdev);
  1546	
  1547	err_deinit_core:
  1548		rtw_core_deinit(rtwdev);
  1549	
  1550	err_release_hw:
  1551		ieee80211_free_hw(hw);
  1552	
  1553		return ret;
  1554	}
  1555	EXPORT_SYMBOL(rtw_pci_probe);
  1556	
> 1557	void rtw_pci_remove(struct pci_dev *pdev)
  1558	{
  1559		struct ieee80211_hw *hw = pci_get_drvdata(pdev);
  1560		struct rtw_dev *rtwdev;
  1561		struct rtw_pci *rtwpci;
  1562	
  1563		if (!hw)
  1564			return;
  1565	
  1566		rtwdev = hw->priv;
  1567		rtwpci = (struct rtw_pci *)rtwdev->priv;
  1568	
  1569		rtw_unregister_hw(rtwdev, hw);
  1570		rtw_pci_disable_interrupt(rtwdev, rtwpci);
  1571		rtw_pci_destroy(rtwdev, pdev);
  1572		rtw_pci_declaim(rtwdev, pdev);
  1573		rtw_pci_free_irq(rtwdev, pdev);
  1574		rtw_core_deinit(rtwdev);
  1575		ieee80211_free_hw(hw);
  1576	}
  1577	EXPORT_SYMBOL(rtw_pci_remove);
  1578	
> 1579	void rtw_pci_shutdown(struct pci_dev *pdev)
  1580	{
  1581		struct ieee80211_hw *hw = pci_get_drvdata(pdev);
  1582		struct rtw_dev *rtwdev;
  1583		struct rtw_chip_info *chip;
  1584	
  1585		if (!hw)
  1586			return;
  1587	
  1588		rtwdev = hw->priv;
  1589		chip = rtwdev->chip;
  1590	
  1591		if (chip->ops->shutdown)
  1592			chip->ops->shutdown(rtwdev);
  1593	}
  1594	EXPORT_SYMBOL(rtw_pci_shutdown);
  1595	

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

Download attachment ".config.gz" of type "application/gzip" (24806 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ