linux/drivers
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
..
accessibility
acpi Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-07-28 18:14:24 -07:00
amba
ata [ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_* 2008-07-27 09:46:18 +01:00
atm
auxdisplay
base more sysdev API change fallout - drivers/base/memory.c 2008-07-28 08:31:58 -07:00
block
bluetooth
cdrom
char ipwireless: fix compile failure 2008-07-28 15:12:37 -07:00
clocksource
connector
cpufreq
cpuidle ACPI/CPUIDLE: prevent setting pm_idle to NULL 2008-07-28 08:31:58 -07:00
crypto
dca
dio
dma
edac
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-07-27 10:24:06 -07:00
firmware Merge branch 'linus' into cpus4096 2008-07-28 21:14:43 +02:00
gpio
gpu drm: make drm_minors_cleanup() static 2008-07-26 12:00:11 -07:00
hid
hwmon
i2c i2c: Blackfin I2C Driver: Functional power management support 2008-07-28 12:41:03 +01:00
ide
ieee1394
infiniband RDMA/cxgb3: Fix deadlock initializing iw_cxgb3 device 2008-08-04 11:08:37 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-07-28 09:59:26 -07:00
isdn Remove deprecated virt_to_bus() 2008-07-28 12:21:25 +02:00
leds
lguest lguest: use cpu capability accessors 2008-07-29 09:58:34 +10:00
macintosh
mca
md [SCSI] scsi_dh: attach to hardware handler from dm-mpath 2008-07-26 15:14:53 -04:00
media V4L/DVB (8549): mxl5007: Fix an error at include file 2008-07-27 19:36:08 -03:00
memstick memstick: use fully asynchronous request processing 2008-07-26 12:00:04 -07:00
message Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-07-27 10:04:52 -07:00
mfd mfd: accept pure device as a parent, not only platform_device 2008-07-29 01:30:26 +02:00
misc Merge branch 'linus' into cpus4096 2008-07-28 21:14:43 +02:00
mmc avr32: some mmc/sd cleanups 2008-07-27 13:57:36 +02:00
mtd Merge git://git.infradead.org/mtd-2.6 2008-07-26 20:30:56 -07:00
net ibmveth: Fix multiple errors with dma_mapping_error conversion 2008-07-28 16:30:51 +10:00
nubus
of
oprofile
parisc
parport make parport_cs_release() static 2008-07-26 12:00:11 -07:00
pci PCI: add D3 power state avoidance quirk 2008-07-28 15:12:11 -07:00
pcmcia [ARM] 5179/1: Replace obsolete IRQT_* and __IRQT_* values with IRQ_TYPE_* 2008-07-27 09:46:18 +01:00
pnp make pnp_add_card_id() static 2008-07-26 12:00:11 -07:00
power
ps3
rapidio
rtc
s390 KVM: s390: Fix guest kconfig 2008-07-27 11:35:47 +03:00
sbus
scsi [SCSI] qla2xxx: fix msleep compile error 2008-07-28 10:13:22 -05:00
serial sh: Add SCIF2 support for SH7763. 2008-07-28 18:10:29 +09:00
sh
sn
spi spi_s3c24xx: really assign busnum 2008-07-28 16:30:21 -07:00
ssb
tc
telephony
thermal
uio
usb fix for a memory leak in an error case introduced by fix for double free 2008-07-26 20:40:09 -07:00
video sh7760fb: write colormap value to hardware 2008-07-28 16:30:21 -07:00
virtio
w1
watchdog
xen
zorro
Kconfig
Makefile