On Mon, Dec 03, 2018 at 03:48:59PM -0600, Steve Wise wrote: > In the deadlock above, the rmmod thread owns the rtnl lock. Yet its > stuck waiting in ib_cache_cleanup_one() for the ib_wq work tasks to all > get flushed. And the other processes that are stuck; the ones in > ib_get_eth_speed() are tasks running on the ib_wq. And they want the > rtnl lock. Thus we have the deadlock... > > I think the lesson here is one cannot call ib_unregister_device() with > the rtnl lock held... No locks should be held while calling unregister_device - it would have to be a very special and very carefully audited lock. Jason