1
linux/drivers/infiniband/hw/cxgb3
Steve Wise be43324d8b RDMA/cxgb3: Fix deadlock initializing iw_cxgb3 device
Running 'ifconfig up' on the cxgb3 interface with iw_cxgb3 loaded
causes a deadlock.  The rtnl lock is already held in this path.  The
function fw_supports_fastreg() was introduced in 2.6.27 to
conditionally set the IB_DEVICE_MEM_MGT_EXTENSIONS bit iff the
firmware was at 7.0 or greater, and this function also acquires the
rtnl lock and which thus causes a deadlock.  Further, if iw_cxgb3 is
loaded _after_ the nic interface is brought up, then the deadlock does
not occur and therefore fw_supports_fastreg() does need to grab the
rtnl lock in that path.

It turns out this code is all useless anyway.  The low level driver
will NOT allow the open if the firmware isn't 7.0, so iw_cxgb3 can
always set the MEM_MGT_EXTENSIONS bit.  Simplify...

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2008-08-04 11:08:37 -07:00
..
cxio_dbg.c IB: Replace remaining __FUNCTION__ occurrences with __func__ 2008-04-16 21:01:10 -07:00
cxio_hal.c RDMA/cxgb3: Fix up MW access rights 2008-08-04 11:05:43 -07:00
cxio_hal.h RDMA/cxgb3: Propagate HW page size capabilities 2008-07-14 23:48:49 -07:00
cxio_resource.c RDMA/cxgb3: Don't add PBL memory to gen_pool in chunks 2008-05-06 15:03:38 -07:00
cxio_resource.h RDMA/cxgb3: Remove Open Grid Computing copyrights in iw_cxgb3 driver 2007-02-16 13:57:35 -08:00
cxio_wr.h RDMA/cxgb3: Fixes for zero STag 2008-07-14 23:48:53 -07:00
iwch_cm.c RDMA/cxgb3: Bump up the MPA connection setup timeout. 2008-05-02 10:57:09 -07:00
iwch_cm.h RDMA/cxgb3: Support peer-2-peer connection setup 2008-04-29 13:46:52 -07:00
iwch_cq.c RDMA/cxgb3: MEM_MGT_EXTENSIONS support 2008-07-14 23:48:45 -07:00
iwch_ev.c IB: Replace remaining __FUNCTION__ occurrences with __func__ 2008-04-16 21:01:10 -07:00
iwch_mem.c RDMA/cxgb3: Fix severe limit on userspace memory registration size 2008-05-06 15:56:22 -07:00
iwch_provider.c RDMA/cxgb3: Fix deadlock initializing iw_cxgb3 device 2008-08-04 11:08:37 -07:00
iwch_provider.h RDMA/cxgb3: Fix up MW access rights 2008-08-04 11:05:43 -07:00
iwch_qp.c RDMA/cxgb3: Fix up MW access rights 2008-08-04 11:05:43 -07:00
iwch_user.h RDMA/cxgb3: Remove Open Grid Computing copyrights in iw_cxgb3 driver 2007-02-16 13:57:35 -08:00
iwch.c RDMA/cxgb3: Propagate HW page size capabilities 2008-07-14 23:48:49 -07:00
iwch.h RDMA/cxgb3: Remove write-only iwch_rnic_attributes fields 2008-07-14 23:48:47 -07:00
Kconfig IB: Use menuconfig for InfiniBand menu 2007-07-09 20:12:26 -07:00
Makefile INFINIBAND: Remove 'TOPDIR' from Makefiles 2008-01-28 23:14:37 +01:00
tcb.h