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-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 14 Sep 2020 05:16:59 +0000
From:   Tony Chuang <yhchuang@...ltek.com>
To:     kernel test robot <lkp@...el.com>,
        Kevin Yang <kevin_yang@...ltek.com>
CC:     "kbuild-all@...ts.01.org" <kbuild-all@...ts.01.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        Kalle Valo <kvalo@...eaurora.org>
Subject: RE: drivers/net/wireless/realtek/rtw88/pci.c:1477:5: warning: no previous prototype for 'rtw_pci_probe'

> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   ef2e9a563b0cd7965e2a1263125dcbb1c86aa6cc
> commit: ba0fbe236fb8a7b992e82d6eafb03a600f5eba43 rtw88: extract: make
> 8822c an individual kernel module
> date:   4 months ago
> config: i386-randconfig-r034-20200913 (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
> reproduce (this is a W=1 build):
>         git checkout ba0fbe236fb8a7b992e82d6eafb03a600f5eba43
>         # 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@...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)
>          |      ^~~~~~~~~~~~~~~~
> 
> #
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b
> a0fbe236fb8a7b992e82d6eafb03a600f5eba43
> git remote add linus
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout ba0fbe236fb8a7b992e82d6eafb03a600f5eba43
> vim +/rtw_pci_probe +1477 drivers/net/wireless/realtek/rtw88/pci.c
> 
> 79066903454b0fe Yu-Yen Ting      2019-09-03  1476
> 72f256c2b948622 Zong-Zhe Yang    2020-05-15 @1477  int
> rtw_pci_probe(struct pci_dev *pdev,
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1478  		  const
> struct pci_device_id *id)
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1479  {
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1480  	struct
> ieee80211_hw *hw;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1481  	struct rtw_dev
> *rtwdev;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1482  	int
> drv_data_size;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1483  	int ret;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1484
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1485  	drv_data_size
> = sizeof(struct rtw_dev) + sizeof(struct rtw_pci);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1486  	hw =
> ieee80211_alloc_hw(drv_data_size, &rtw_ops);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1487  	if (!hw) {
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1488
> 	dev_err(&pdev->dev, "failed to allocate hw\n");
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1489  		return
> -ENOMEM;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1490  	}
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1491
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1492  	rtwdev =
> hw->priv;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1493  	rtwdev->hw =
> hw;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1494  	rtwdev->dev =
> &pdev->dev;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1495  	rtwdev->chip =
> (struct rtw_chip_info *)id->driver_data;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1496
> 	rtwdev->hci.ops = &rtw_pci_ops;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1497
> 	rtwdev->hci.type = RTW_HCI_TYPE_PCIE;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1498
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1499  	ret =
> rtw_core_init(rtwdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1500  	if (ret)
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1501  		goto
> err_release_hw;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1502
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1503
> 	rtw_dbg(rtwdev, RTW_DBG_PCI,
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1504  		"rtw88 pci
> probe: vendor=0x%4.04X device=0x%4.04X rev=%d\n",
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1505
> 	pdev->vendor, pdev->device, pdev->revision);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1506
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1507  	ret =
> rtw_pci_claim(rtwdev, pdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1508  	if (ret) {
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1509
> 	rtw_err(rtwdev, "failed to claim pci device\n");
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1510  		goto
> err_deinit_core;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1511  	}
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1512
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1513  	ret =
> rtw_pci_setup_resource(rtwdev, pdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1514  	if (ret) {
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1515
> 	rtw_err(rtwdev, "failed to setup pci resources\n");
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1516  		goto
> err_pci_declaim;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1517  	}
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1518
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1519  	ret =
> rtw_chip_info_setup(rtwdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1520  	if (ret) {
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1521
> 	rtw_err(rtwdev, "failed to setup chip information\n");
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1522  		goto
> err_destroy_pci;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1523  	}
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1524
> 474264d5a6b7db4 Yan-Hsuan Chuang 2019-10-08  1525
> 	rtw_pci_phy_cfg(rtwdev);
> 474264d5a6b7db4 Yan-Hsuan Chuang 2019-10-08  1526
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1527  	ret =
> rtw_register_hw(rtwdev, hw);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1528  	if (ret) {
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1529
> 	rtw_err(rtwdev, "failed to register hw\n");
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1530  		goto
> err_destroy_pci;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1531  	}
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1532
> 79066903454b0fe Yu-Yen Ting      2019-09-03  1533  	ret =
> rtw_pci_request_irq(rtwdev, pdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1534  	if (ret) {
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1535
> 	ieee80211_unregister_hw(hw);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1536  		goto
> err_destroy_pci;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1537  	}
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1538
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1539  	return 0;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1540 e3037485c68ec1a
> Yan-Hsuan Chuang 2019-04-26  1541  err_destroy_pci:
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1542
> 	rtw_pci_destroy(rtwdev, pdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1543 e3037485c68ec1a
> Yan-Hsuan Chuang 2019-04-26  1544  err_pci_declaim:
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1545
> 	rtw_pci_declaim(rtwdev, pdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1546 e3037485c68ec1a
> Yan-Hsuan Chuang 2019-04-26  1547  err_deinit_core:
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1548
> 	rtw_core_deinit(rtwdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1549 e3037485c68ec1a
> Yan-Hsuan Chuang 2019-04-26  1550  err_release_hw:
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1551
> 	ieee80211_free_hw(hw);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1552
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1553  	return ret;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1554  }
> 72f256c2b948622 Zong-Zhe Yang    2020-05-15  1555
> EXPORT_SYMBOL(rtw_pci_probe);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1556
> 72f256c2b948622 Zong-Zhe Yang    2020-05-15 @1557  void
> rtw_pci_remove(struct pci_dev *pdev)
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1558  {
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1559  	struct
> ieee80211_hw *hw = pci_get_drvdata(pdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1560  	struct rtw_dev
> *rtwdev;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1561  	struct rtw_pci
> *rtwpci;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1562
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1563  	if (!hw)
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1564  		return;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1565
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1566  	rtwdev =
> hw->priv;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1567  	rtwpci = (struct
> rtw_pci *)rtwdev->priv;
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1568
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1569
> 	rtw_unregister_hw(rtwdev, hw);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1570
> 	rtw_pci_disable_interrupt(rtwdev, rtwpci);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1571
> 	rtw_pci_destroy(rtwdev, pdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1572
> 	rtw_pci_declaim(rtwdev, pdev);
> 79066903454b0fe Yu-Yen Ting      2019-09-03  1573
> 	rtw_pci_free_irq(rtwdev, pdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1574
> 	rtw_core_deinit(rtwdev);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1575
> 	ieee80211_free_hw(hw);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1576  }
> 72f256c2b948622 Zong-Zhe Yang    2020-05-15  1577
> EXPORT_SYMBOL(rtw_pci_remove);
> e3037485c68ec1a Yan-Hsuan Chuang 2019-04-26  1578
> 72f256c2b948622 Zong-Zhe Yang    2020-05-15 @1579  void
> rtw_pci_shutdown(struct pci_dev *pdev)
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1580  {
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1581  	struct
> ieee80211_hw *hw = pci_get_drvdata(pdev);
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1582  	struct rtw_dev
> *rtwdev;
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1583  	struct
> rtw_chip_info *chip;
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1584
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1585  	if (!hw)
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1586  		return;
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1587
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1588  	rtwdev =
> hw->priv;
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1589  	chip =
> rtwdev->chip;
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1590
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1591  	if
> (chip->ops->shutdown)
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1592
> 	chip->ops->shutdown(rtwdev);
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1593  }
> 72f256c2b948622 Zong-Zhe Yang    2020-05-15  1594
> EXPORT_SYMBOL(rtw_pci_shutdown);
> 05202746ed70ea9 Ping-Ke Shih     2020-05-12  1595
> 
> :::::: The code at line 1477 was first introduced by commit
> :::::: 72f256c2b948622cc45ff8bc0456dd6039d8fe36 rtw88: extract: export
> symbols about pci interface
> 
> :::::: TO: Zong-Zhe Yang <kevin_yang@...ltek.com>
> :::::: CC: Kalle Valo <kvalo@...eaurora.org>
> 
> ---

Hi Kalle,

The exported function is used by the following patchset.
So this is a false alarm.
Thanks

Yen-Hsuan


> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> 
> ------Please consider the environment before printing this e-mail.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ