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()).
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to