***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