1
linux/drivers/staging
Sven Eckelmann cec4a69cfc Staging: batman-adv: Use forw_bcast_list_lock always with disabled interrupts
forw_bcast_list_lock is spin_locked in both process and softirq context.
SoftIRQ calls the spinlock with disabled IRQ and normal process context
with enabled IRQs.

When process context is inside an spin_locked area protected by
forw_bcast_list_lock and gets interrupted by an IRQ, it could happen
that something tries to lock forw_bcast_list_lock again in SoftIRQ
context. It cannot proceed further since the lock is already taken
somewhere else, but no reschedule will happen inside the SoftIRQ
context. This leads to an complete kernel hang without any chance of
resurrection.

All functions called in process context must disable IRQs when they try
to get get that lock to to prevent any reschedule due to IRQs.

Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Acked-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-03-03 16:42:35 -08:00
..
arlan
asus_oled Staging: asus_oled: Add defines for asus vendor_id and device_id to be consistent with hid-ids.h 2010-03-03 16:42:29 -08:00
batman-adv Staging: batman-adv: Use forw_bcast_list_lock always with disabled interrupts 2010-03-03 16:42:35 -08:00
comedi staging: Fix misspelling of "should" and "shouldn't" in comments. 2010-03-03 16:42:31 -08:00
crystalhd staging: add Broadcom Crystal HD driver 2010-03-03 16:42:34 -08:00
cx25821 V4L/DVB (13955): cx25821: fix double unlock in medusa_video_init() 2010-01-17 11:31:38 -02:00
dream Staging: s5k3e2fx.c: simplify complexity by factoring 2010-03-03 16:42:33 -08:00
dt3155 Staging: dt3155: coding style cleanups for the .h files 2010-03-03 16:42:33 -08:00
echo
et131x Staging: et131x: Fix 2.6.33rc1 regression in et131x 2010-01-20 15:05:26 -08:00
frontier
go7007 V4L/DVB (13556): v4l: Remove unneeded video_device::minor assignments 2009-12-16 00:17:57 -02:00
hv Staging: hv: fix smp problems in the hyperv core code 2010-01-20 15:05:26 -08:00
iio Staging: iio: checkinclude.pl fix 2010-03-03 16:42:30 -08:00
line6
mimio Staging: mimio: checkpatch.pl line > 80 chars fixes 2010-03-03 16:42:29 -08:00
netwave
octeon Staging: octeon-ethernet: Convert to use PHY Abstraction Layer. 2009-12-17 01:57:00 +00:00
otus Staging: otus: Fix branch in zfProtRspSim() 2010-03-03 16:42:27 -08:00
panel Staging: panel: Adjust range for PANEL_KEYPAD in Kconfig 2009-12-23 11:27:49 -08:00
phison
poch
pohmelfs pohmelfs needs I_LOCK 2009-12-22 12:27:33 -05:00
quatech_usb2
ramzswap Staging: ramzswap: remove unused #include <linux/version.h> 2010-03-03 16:42:30 -08:00
rar
rt2860 Staging: rt2860: test off by one in RtmpAsicSendCommandToMcu() 2010-03-03 16:42:34 -08:00
rt2870
rt3070
rt3090
rtl8187se Staging: rtl8187x: Use %pM for mac address output 2010-03-03 16:42:29 -08:00
rtl8192e staging: Fix misspelling of "should" and "shouldn't" in comments. 2010-03-03 16:42:31 -08:00
rtl8192su Staging: rtl8192su: Use z format qualifier for output of sizeof() 2010-03-03 16:42:33 -08:00
rtl8192u Staging: rtl8192u: ieee80211: add missing parentheses 2010-03-03 16:42:34 -08:00
samsung-laptop Staging: samsung-laptop: add TODO file 2009-12-11 12:23:23 -08:00
sep
serqt_usb2
slicoss staging: slicoss Use pci_set_consistent_dma_mask. 2010-03-03 16:42:28 -08:00
sm7xx Staging: sm7xx: add a new framebuffer driver 2009-12-23 11:27:44 -08:00
strip
udlfb Staging: udlfb: add dynamic modeset support 2010-03-03 16:42:31 -08:00
usbip
vme Staging: vme: Allow drivers to co-exist 2010-03-03 16:42:28 -08:00
vt6655 Staging/vt66*: kconfig, depends on WLAN 2009-12-23 11:27:50 -08:00
vt6656 Staging/vt66*: kconfig, depends on WLAN 2009-12-23 11:27:50 -08:00
wavelan
winbond Staging: w35und: Remove unused typedefs MLME_DEAUTHREQ_PARA and MLME_DISASSOCREQ_PARA 2010-03-03 16:42:32 -08:00
wlags49_h2 staging: Fix misspelling of "successful" and variants. 2010-03-03 16:42:31 -08:00
wlags49_h25
wlan-ng Staging: wlan-ng: initialise mibitem 2010-03-03 16:42:33 -08:00
Kconfig staging: add Broadcom Crystal HD driver 2010-03-03 16:42:34 -08:00
Makefile staging: add Broadcom Crystal HD driver 2010-03-03 16:42:34 -08:00
staging.c