linux/drivers/infiniband/ulp/ipoib
Doug Ledford c84ca6d2b1 IB/ipoib: Consolidate rtnl_lock tasks in workqueue
The ipoib_mcast_flush_dev routine is called with the rtnl_lock held and
needs to keep it held.  It also needs to call flush_workqueue() to flush
out any outstanding work.  In the past, we've had to try and make sure
that we didn't flush out any outstanding join completions because they
also wanted to grab rtnl_lock() and that would deadlock.  It turns out
that the only thing in the join completion handler that needs this lock
can be safely moved to our carrier_on_task, thereby reducing the
potential for the join completion code and the flush code to deadlock
against each other.

Signed-off-by: Doug Ledford <dledford@redhat.com>
2015-04-15 16:06:17 -04:00
..
ipoib_cm.c Revert "IPoIB: Use dedicated workqueues per interface" 2015-01-30 15:38:55 -08:00
ipoib_ethtool.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
ipoib_fs.c IPoIB: Remove unnecessary test for NULL before debugfs_remove() 2014-08-12 21:59:54 -07:00
ipoib_ib.c IB/ipoib: factor out ah flushing 2015-04-15 16:06:17 -04:00
ipoib_main.c IB/ipoib: change init sequence ordering 2015-04-15 16:06:17 -04:00
ipoib_multicast.c IB/ipoib: Consolidate rtnl_lock tasks in workqueue 2015-04-15 16:06:17 -04:00
ipoib_netlink.c infiniband: make sure the src net is infiniband when create new link 2014-01-03 20:38:56 -05:00
ipoib_verbs.c Revert "IPoIB: Use dedicated workqueues per interface" 2015-01-30 15:38:55 -08:00
ipoib_vlan.c infiniband/ipoib: implement ndo_get_iflink 2015-04-02 14:05:01 -04:00
ipoib.h Revert "IPoIB: fix MCAST_FLAG_BUSY usage" 2015-01-30 15:39:20 -08:00
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Makefile IB/ipoib: Add rtnl_link_ops support 2012-09-20 16:49:17 -04:00