1
linux/drivers/staging
Sven Eckelmann 9ee898739b Staging: batman-adv: Don't remove interface with spinlock held
We call a lot of the netdevice code when holding if_list_lock which will
spin the whole time. This is not necessary because we only want to
protect the access to the list to be serialized. An extra queue can be
used which hold all interfaces which should be removed and then use that
queue without any locks for netdevice cleanup.

We create a "scheduling while atomic" Oops when calling different
netdevice related functions inside a spinlock protected area on a
preemtible kernel.

Reported-by: Rafal Lesniak <lesniak@eresi-project.org>
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-11-29 10:53:14 -08:00
..
adis16255
asus_oled Staging: asus_oled: fix up my fixup for some sysfs attribute permissions 2010-11-18 11:27:18 -08:00
ath6kl Staging: ath6kl: Fix pointer casts on 64-bit architectures 2010-11-09 16:49:02 -08:00
autofs convert get_sb_nodev() users 2010-10-29 04:16:31 -04:00
batman-adv Staging: batman-adv: Don't remove interface with spinlock held 2010-11-29 10:53:14 -08:00
bcm Staging: bcm: use get_user() to access user pointers 2010-11-09 13:32:36 -08:00
brcm80211 staging: brcm80211: updated maintainers contact information 2010-11-29 10:53:14 -08:00
comedi staging: comedi: fix memory leak 2010-11-16 12:25:52 -08:00
cpia staging: cpia: fix camera file owner in cpia_open() 2010-11-09 13:24:12 -08:00
crystalhd Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
cx25821 Fix build failure at cx25821-video driver 2010-11-18 11:42:05 -08:00
cxt1e1 Staging: cxt1e1: multiple definition of max_mtu fix 2010-10-19 10:12:14 -07:00
dt3155v4l V4L/DVB: videobuf: add queue argument to videobuf_waiton() 2010-10-21 01:06:14 -02:00
easycap BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
echo
et131x
frontier Staging: frontier: fix up my fixup for some sysfs attribute permissions 2010-11-18 11:27:18 -08:00
ft1000 drivers/staging: delete double assignment 2010-11-09 14:05:22 -08:00
go7007 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2010-10-28 12:13:00 -07:00
hv SCSI host lock push-down 2010-11-16 13:33:23 -08:00
iio Staging: iio: adis16220: fix up my fixup for some sysfs attribute permissions 2010-11-18 11:27:19 -08:00
intel_sst Merge branch 'master' into work 2010-11-29 10:44:22 -08:00
keucr SCSI host lock push-down 2010-11-16 13:33:23 -08:00
line6 Staging: line6: fix up my fixup for some sysfs attribute permissions 2010-11-18 11:27:20 -08:00
lirc Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2010-10-28 12:13:00 -07:00
memrar llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
msm staging: Final semaphore cleanup 2010-10-30 12:12:50 +02:00
octeon Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
olpc_dcon i2c: Drivers shouldn't include <linux/i2c-id.h> 2010-11-15 22:40:38 +01:00
panel llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
phison Staging: phison: fix problem caused by libata change 2010-10-09 13:26:12 -07:00
pohmelfs convert get_sb_nodev() users 2010-10-29 04:16:31 -04:00
quatech_usb2
quickstart Staging: quickstart: free after input_unregister_device() 2010-11-16 12:25:52 -08:00
rt2860 staging: rt2870: Add new USB ID for Belkin F6D4050 v1 2010-11-09 14:05:23 -08:00
rt2870
rtl8187se staging: rtl8187se: Change panic to warn when RF switch turned off 2010-11-16 12:25:53 -08:00
rtl8192e Staging: rtl8192e: fix IOMMU memory leak 2010-11-09 14:05:23 -08:00
rtl8192u
rtl8712 Merge branch 'master' into work 2010-11-29 10:44:22 -08:00
samsung-laptop Staging: samsung-laptop: fix up my fixup for some sysfs attribute permissions 2010-11-18 11:27:19 -08:00
sbe-2t3e3
serqt_usb2
slicoss
sm7xx
smbfs Merge branches 'irq-core-for-linus' and 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-31 20:40:24 -04:00
solo6x10 Staging: solo6x10: fix build problem 2010-11-02 08:39:05 -07:00
speakup Merge branch 'master' into work 2010-11-29 10:44:22 -08:00
spectra staging: spectra: fix build error 2010-11-17 11:57:43 -08:00
stradis staging/stradis: mark as "depends on BKL" 2010-11-17 08:59:32 -08:00
ti-st
tidspbridge Revert "staging: tidspbridge: replace iommu custom for opensource implementation" 2010-11-10 18:34:44 -06:00
tm6000 [media] tm6000: bugfix set tv standards 2010-11-09 15:03:20 -02:00
udlfb Staging: udlfb: fix up my fixup for some sysfs attribute permissions 2010-11-18 11:27:19 -08:00
usbip Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
vme
vt6655 Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
vt6656 staging: vt6656: implement missing brackets 2010-11-09 14:05:23 -08:00
westbridge drivers/staging: delete double assignment 2010-11-09 14:05:22 -08:00
winbond staging: fix winbond build, needs delay.h 2010-11-19 10:13:56 -08:00
wlags49_h2 Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
wlags49_h25
wlan-ng Staging: wlan-ng: Fix wrong #ifdef #endif sequence 2010-11-09 16:51:42 -08:00
xgifb Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
zram Staging: zram: fix up my fixup for some sysfs attribute permissions 2010-11-18 11:27:19 -08:00
Kconfig Staging: dream: remove dream driver and arch from tree 2010-10-29 12:42:18 -07:00
Makefile Staging: dream: remove dream driver and arch from tree 2010-10-29 12:42:18 -07:00
staging.c