netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [jkirsher-net-queue:dev-queue 5/5] drivers/net/ethernet/intel/e1000e/netdev.c:7604:7: warning: address of function 'down' will always evaluate to 'true'
       [not found] <201912220313.FgL3fS3o%lkp@intel.com>
@ 2019-12-22  3:25 ` Nathan Chancellor
  2019-12-22 16:52   ` Alexander Duyck
  0 siblings, 1 reply; 2+ messages in thread
From: Nathan Chancellor @ 2019-12-22  3:25 UTC (permalink / raw)
  To: Jeff Kirsher
  Cc: kbuild, Nick Desaulniers, clang-built-linux, kbuild test robot, netdev

Hi Jeff,

We received this build report from the 0day team with clang, seems
legit. Mind taking a look into it?

Cheers,
Nathan

On Sun, Dec 22, 2019 at 03:36:15AM +0800, kbuild test robot wrote:
> CC: kbuild-all@lists.01.org
> CC: intel-wired-lan@lists.osuosl.org
> TO: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue.git dev-queue
> head:   831655569c70675c1622f8c52ed271dc7fdce42f
> commit: 831655569c70675c1622f8c52ed271dc7fdce42f [5/5] e1000e: Revert "e1000e: Make watchdog use delayed work"
> config: arm64-defconfig (attached as .config)
> compiler: clang version 10.0.0 (git://gitmirror/llvm_project 3ced23976aa8a86a17017c87821c873b4ca80bc2)
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout 831655569c70675c1622f8c52ed271dc7fdce42f
>         # save the attached .config to linux build tree
>         make.cross ARCH=arm64 
> 
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@intel.com>
> 
> All warnings (new ones prefixed by >>):
> 
> >> drivers/net/ethernet/intel/e1000e/netdev.c:7604:7: warning: address of function 'down' will always evaluate to 'true' [-Wpointer-bool-conversion]
>            if (!down)
>                ~^~~~
>    drivers/net/ethernet/intel/e1000e/netdev.c:7604:7: note: prefix with the address-of operator to silence this warning
>            if (!down)
>                 ^
>                 &
>    1 warning generated.
> 
> vim +7604 drivers/net/ethernet/intel/e1000e/netdev.c
> 
>   7584	
>   7585	/**
>   7586	 * e1000_remove - Device Removal Routine
>   7587	 * @pdev: PCI device information struct
>   7588	 *
>   7589	 * e1000_remove is called by the PCI subsystem to alert the driver
>   7590	 * that it should release a PCI device.  The could be caused by a
>   7591	 * Hot-Plug event, or because the driver is going to be removed from
>   7592	 * memory.
>   7593	 **/
>   7594	static void e1000_remove(struct pci_dev *pdev)
>   7595	{
>   7596		struct net_device *netdev = pci_get_drvdata(pdev);
>   7597		struct e1000_adapter *adapter = netdev_priv(netdev);
>   7598	
>   7599		e1000e_ptp_remove(adapter);
>   7600	
>   7601		/* The timers may be rescheduled, so explicitly disable them
>   7602		 * from being rescheduled.
>   7603		 */
> > 7604		if (!down)
>   7605			set_bit(__E1000_DOWN, &adapter->state);
>   7606		del_timer_sync(&adapter->watchdog_timer);
>   7607		del_timer_sync(&adapter->phy_info_timer);
>   7608	
>   7609		cancel_work_sync(&adapter->reset_task);
>   7610		cancel_work_sync(&adapter->watchdog_task);
>   7611		cancel_work_sync(&adapter->downshift_task);
>   7612		cancel_work_sync(&adapter->update_phy_task);
>   7613		cancel_work_sync(&adapter->print_hang_task);
>   7614	
>   7615		if (adapter->flags & FLAG_HAS_HW_TIMESTAMP) {
>   7616			cancel_work_sync(&adapter->tx_hwtstamp_work);
>   7617			if (adapter->tx_hwtstamp_skb) {
>   7618				dev_consume_skb_any(adapter->tx_hwtstamp_skb);
>   7619				adapter->tx_hwtstamp_skb = NULL;
>   7620			}
>   7621		}
>   7622	
>   7623		unregister_netdev(netdev);
>   7624	
>   7625		if (pci_dev_run_wake(pdev))
>   7626			pm_runtime_get_noresume(&pdev->dev);
>   7627	
>   7628		/* Release control of h/w to f/w.  If f/w is AMT enabled, this
>   7629		 * would have already happened in close and is redundant.
>   7630		 */
>   7631		e1000e_release_hw_control(adapter);
>   7632	
>   7633		e1000e_reset_interrupt_capability(adapter);
>   7634		kfree(adapter->tx_ring);
>   7635		kfree(adapter->rx_ring);
>   7636	
>   7637		iounmap(adapter->hw.hw_addr);
>   7638		if ((adapter->hw.flash_address) &&
>   7639		    (adapter->hw.mac.type < e1000_pch_spt))
>   7640			iounmap(adapter->hw.flash_address);
>   7641		pci_release_mem_regions(pdev);
>   7642	
>   7643		free_netdev(netdev);
>   7644	
>   7645		/* AER disable */
>   7646		pci_disable_pcie_error_reporting(pdev);
>   7647	
>   7648		pci_disable_device(pdev);
>   7649	}
>   7650	
> 
> ---
> 0-DAY kernel test infrastructure                 Open Source Technology Center
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
> 
> -- 
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/201912220313.FgL3fS3o%25lkp%40intel.com.



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [jkirsher-net-queue:dev-queue 5/5] drivers/net/ethernet/intel/e1000e/netdev.c:7604:7: warning: address of function 'down' will always evaluate to 'true'
  2019-12-22  3:25 ` [jkirsher-net-queue:dev-queue 5/5] drivers/net/ethernet/intel/e1000e/netdev.c:7604:7: warning: address of function 'down' will always evaluate to 'true' Nathan Chancellor
@ 2019-12-22 16:52   ` Alexander Duyck
  0 siblings, 0 replies; 2+ messages in thread
From: Alexander Duyck @ 2019-12-22 16:52 UTC (permalink / raw)
  To: Nathan Chancellor
  Cc: Jeff Kirsher, kbuild, Nick Desaulniers, clang-built-linux,
	kbuild test robot, Netdev

Yes, it looks like the patch called out below reverted part of my earlier patch:
commit daee5598e491d8d3979bd4ad6c447d89ce57b446
Author: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Date:   Fri Oct 11 08:34:59 2019 -0700

    e1000e: Drop unnecessary __E1000_DOWN bit twiddling

    Since we no longer check for __E1000_DOWN in e1000e_close we can drop the
    spot where we were restoring the bit. This saves us a bit of unnecessary
    complexity.

    Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com>
    Tested-by: Aaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>

On Sat, Dec 21, 2019 at 7:37 PM Nathan Chancellor
<natechancellor@gmail.com> wrote:
>
> Hi Jeff,
>
> We received this build report from the 0day team with clang, seems
> legit. Mind taking a look into it?
>
> Cheers,
> Nathan
>
> On Sun, Dec 22, 2019 at 03:36:15AM +0800, kbuild test robot wrote:
> > CC: kbuild-all@lists.01.org
> > CC: intel-wired-lan@lists.osuosl.org
> > TO: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> >
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue.git dev-queue
> > head:   831655569c70675c1622f8c52ed271dc7fdce42f
> > commit: 831655569c70675c1622f8c52ed271dc7fdce42f [5/5] e1000e: Revert "e1000e: Make watchdog use delayed work"
> > config: arm64-defconfig (attached as .config)
> > compiler: clang version 10.0.0 (git://gitmirror/llvm_project 3ced23976aa8a86a17017c87821c873b4ca80bc2)
> > reproduce:
> >         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >         chmod +x ~/bin/make.cross
> >         git checkout 831655569c70675c1622f8c52ed271dc7fdce42f
> >         # save the attached .config to linux build tree
> >         make.cross ARCH=arm64
> >
> > If you fix the issue, kindly add following tag
> > Reported-by: kbuild test robot <lkp@intel.com>
> >
> > All warnings (new ones prefixed by >>):
> >
> > >> drivers/net/ethernet/intel/e1000e/netdev.c:7604:7: warning: address of function 'down' will always evaluate to 'true' [-Wpointer-bool-conversion]
> >            if (!down)
> >                ~^~~~
> >    drivers/net/ethernet/intel/e1000e/netdev.c:7604:7: note: prefix with the address-of operator to silence this warning
> >            if (!down)
> >                 ^
> >                 &
> >    1 warning generated.
> >
> > vim +7604 drivers/net/ethernet/intel/e1000e/netdev.c
> >
> >   7584
> >   7585        /**
> >   7586         * e1000_remove - Device Removal Routine
> >   7587         * @pdev: PCI device information struct
> >   7588         *
> >   7589         * e1000_remove is called by the PCI subsystem to alert the driver
> >   7590         * that it should release a PCI device.  The could be caused by a
> >   7591         * Hot-Plug event, or because the driver is going to be removed from
> >   7592         * memory.
> >   7593         **/
> >   7594        static void e1000_remove(struct pci_dev *pdev)
> >   7595        {
> >   7596                struct net_device *netdev = pci_get_drvdata(pdev);
> >   7597                struct e1000_adapter *adapter = netdev_priv(netdev);
> >   7598
> >   7599                e1000e_ptp_remove(adapter);
> >   7600
> >   7601                /* The timers may be rescheduled, so explicitly disable them
> >   7602                 * from being rescheduled.
> >   7603                 */
> > > 7604                if (!down)
> >   7605                        set_bit(__E1000_DOWN, &adapter->state);
> >   7606                del_timer_sync(&adapter->watchdog_timer);
> >   7607                del_timer_sync(&adapter->phy_info_timer);
> >   7608
> >   7609                cancel_work_sync(&adapter->reset_task);
> >   7610                cancel_work_sync(&adapter->watchdog_task);
> >   7611                cancel_work_sync(&adapter->downshift_task);
> >   7612                cancel_work_sync(&adapter->update_phy_task);
> >   7613                cancel_work_sync(&adapter->print_hang_task);
> >   7614
> >   7615                if (adapter->flags & FLAG_HAS_HW_TIMESTAMP) {
> >   7616                        cancel_work_sync(&adapter->tx_hwtstamp_work);
> >   7617                        if (adapter->tx_hwtstamp_skb) {
> >   7618                                dev_consume_skb_any(adapter->tx_hwtstamp_skb);
> >   7619                                adapter->tx_hwtstamp_skb = NULL;
> >   7620                        }
> >   7621                }
> >   7622
> >   7623                unregister_netdev(netdev);
> >   7624
> >   7625                if (pci_dev_run_wake(pdev))
> >   7626                        pm_runtime_get_noresume(&pdev->dev);
> >   7627
> >   7628                /* Release control of h/w to f/w.  If f/w is AMT enabled, this
> >   7629                 * would have already happened in close and is redundant.
> >   7630                 */
> >   7631                e1000e_release_hw_control(adapter);
> >   7632
> >   7633                e1000e_reset_interrupt_capability(adapter);
> >   7634                kfree(adapter->tx_ring);
> >   7635                kfree(adapter->rx_ring);
> >   7636
> >   7637                iounmap(adapter->hw.hw_addr);
> >   7638                if ((adapter->hw.flash_address) &&
> >   7639                    (adapter->hw.mac.type < e1000_pch_spt))
> >   7640                        iounmap(adapter->hw.flash_address);
> >   7641                pci_release_mem_regions(pdev);
> >   7642
> >   7643                free_netdev(netdev);
> >   7644
> >   7645                /* AER disable */
> >   7646                pci_disable_pcie_error_reporting(pdev);
> >   7647
> >   7648                pci_disable_device(pdev);
> >   7649        }
> >   7650
> >
> > ---
> > 0-DAY kernel test infrastructure                 Open Source Technology Center
> > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
> >
> > --
> > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com.
> > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/201912220313.FgL3fS3o%25lkp%40intel.com.
>
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-12-22 16:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <201912220313.FgL3fS3o%lkp@intel.com>
2019-12-22  3:25 ` [jkirsher-net-queue:dev-queue 5/5] drivers/net/ethernet/intel/e1000e/netdev.c:7604:7: warning: address of function 'down' will always evaluate to 'true' Nathan Chancellor
2019-12-22 16:52   ` Alexander Duyck

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).