***SPAM*** Re: [ofa-general] [PATCH v2] ipiob: fix rtnl deadlock
    Yossi Etigin 
    yossi.openib at gmail.com
       
    Mon Sep 15 09:51:12 PDT 2008
    
    
  
Roland Dreier wrote:
>  > ipoib_stop() calls ipoib_ib_dev_down() which calls ipoib_mcast_dev_flush()
>  > which calls ipoib_mcast_free(), which calls ipoib_mcast_leave(). The latter
>  > calls ib_sa_free_multicast(), and this wait until the multicast
>  > completion handler finishes. This happens to be
>  > ipoib_mcast_join_complete(), which
>  > waits for the rtnl_lock(), whcih was already taken by ipoib_stop().
> 
> I see...  I wonder why lockdep didn't warn about this in my testing.
> Anyway, any ideas how we want to fix this?
> 
>  - R.
> 
You queue the netif_carrier_on() stuff on ipoib_workqueue instead of
running it (from ipoib_mcast_join_complete()).
    
    
More information about the general
mailing list