On Tue, 18 Jun 2013 00:16:57 -0700
Peter P Waskiewicz Jr <[email protected]> wrote:

> Could be this commit (just speculation):
> 
> commit 499ab5ccbd42839f40d5572e7a4799c412986a11
> Author: akepner <[email protected]>
> Date:   Wed Mar 13 14:54:58 2013 +0000
> 
>      ixgbe: in shutdown, do netif_running() under rtnl_lock
> 
>      During shutdown it's possible for __dev_close() (which holds
>      rtnl_lock) to clear the __LINK_STATE_START bit, and for ixgbe
>      to then read that bit (without holding rtnl_lock), and then
>      not fail to free irqs, etc. The result is a crash like this:
> 

No that is not it. The problem is that in the sequence

 dev_close
   rtnl_lock
      ixgbe_close
         ixgbe_ptp_stop
            cancel_work_sync

cancel work sync has to sleep, and therefor checks if locks are held
I wonder if the lockdep map for the work struct was initialized
properly? Since the first part says:
 
> [  310.416382] INFO: trying to register non-static key.
> [  310.417499] the code is fine but needs lockdep annotation.
> [  310.418625] turning off the locking correctness validator.


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to