linux/drivers/staging
Julia Lawall 1dd7def0b5 Staging: meilhaus: convert nested spin_lock_irqsave to spin_lock
If spin_lock_irqsave is called twice in a row with the same second
argument, the interrupt state at the point of the second call overwrites
the value saved by the first call.  Indeed, the second call does not need
to save the interrupt state, so it is changed to a simple spin_lock.

The semantic match that finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
expression lock1,lock2;
expression flags;
@@

*spin_lock_irqsave(lock1,flags)
... when != flags
*spin_lock_irqsave(lock2,flags)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Cc: David Kiliani <mail@davidkiliani.de>
Cc: Meilhaus Support <support@meilhaus.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 12:02:05 -07:00
..
agnx mac80211: push rx status into skb->cb 2009-07-10 14:57:54 -04:00
altpciechdma Staging: altpciechdma: fix build warnings 2009-06-19 11:00:55 -07:00
android Staging: android: lowmemorykiller: fix module param errors 2009-09-15 12:01:26 -07:00
asus_oled Staging: asus_oled: fix build warnings 2009-06-19 11:00:55 -07:00
at76_usb Staging: at76_usb: replace mac2str() with %pM 2009-09-15 12:01:37 -07:00
b3dfg Staging: b3dfg: Drop NULL test on list_entry result 2009-09-15 12:01:40 -07:00
comedi Staging: comedi: s626: Possible read buffer overflow fix 2009-09-15 12:01:34 -07:00
cpc-usb Staging: cpc-usb: remove unused #include <linux/version.h> 2009-09-15 12:01:34 -07:00
dream Staging: dream: Synaptics touchscreen: check that smbus is available 2009-09-15 12:02:05 -07:00
dst Merge branch 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block 2009-09-14 17:55:15 -07:00
echo Staging: oslec bug fix 2009-06-19 11:00:54 -07:00
epl net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
et131x Staging: et1310: Fix the coding style 2009-09-15 12:01:26 -07:00
frontier Staging: remove unused #include <linux/version.h>'s 2009-06-19 11:00:36 -07:00
go7007 Fix staging drivers after smp_lock.h redux 2009-07-13 09:09:08 -07:00
heci staging: add dependencies on PCI for drivers that require it 2009-08-07 16:12:03 -07:00
hv Staging: hv: update the TODO file 2009-09-15 12:02:04 -07:00
line6 Staging: line6: convert to snd_card_create() 2009-04-17 11:06:25 -07:00
me4000 Staging: me4000: make file_operations const 2009-04-03 14:53:25 -07:00
meilhaus Staging: meilhaus: convert nested spin_lock_irqsave to spin_lock 2009-09-15 12:02:05 -07:00
mimio Staging: mimio: depends on INPUT 2009-04-03 14:53:29 -07:00
octeon netdev: drivers should make ethtool_ops const 2009-09-02 01:03:33 -07:00
otus Staging: otus: Drop an unnecessary NULL test 2009-09-15 12:01:33 -07:00
p9auth staging: p9auth: prevent some oopses and memory leaks 2009-06-19 11:00:54 -07:00
panel trivial: Miscellaneous documentation typo fixes 2009-06-12 18:01:47 +02:00
pata_rdc Staging: pata_rdc: remove pointless comments 2009-06-19 11:00:57 -07:00
phison Staging: phison: depends on PCI 2009-04-03 14:53:40 -07:00
poch
pohmelfs pohmelfs: Use new syncing helper 2009-09-14 17:08:17 +02:00
quatech_usb2 Staging: quatech_usb2: Improvements to set_termios method 2009-09-15 12:01:36 -07:00
rspiusb Staging: rspiusb: Fix buffer overflow 2009-08-07 16:12:03 -07:00
rt2860 Staging: rt*: don't confuse user of rt3070 driver with rt2870 strings 2009-09-15 12:01:40 -07:00
rt2870 Staging: rt*: don't confuse user of rt3070 driver with rt2870 strings 2009-09-15 12:01:40 -07:00
rt3070 Staging: rt{28,30}70: merge rt{28,30}70/sta/*.[ch] 2009-06-19 11:00:50 -07:00
rt3090 Staging: add rt3090 wireless driver 2009-09-15 12:01:31 -07:00
rtl8187se Staging: rtl8187se/ieee80211: convert MMIE_TYPE_* defines to enums 2009-09-15 12:01:41 -07:00
rtl8192su Staging: rtl8192su/ieee80211: move rtl8192su specific code out from ieee80211.h 2009-09-15 12:01:42 -07:00
serqt_usb2 Staging: serqt_usb2: fix memory leak in error case 2009-07-28 14:07:10 -07:00
slicoss net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
stlc45xx Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-08-12 17:44:53 -07:00
sxg netdev: drivers should make ethtool_ops const 2009-09-02 01:03:33 -07:00
udlfb staging: udlfb: Add vmalloc.h include 2009-07-28 14:07:11 -07:00
usbip Fix staging drivers after smp_lock.h redux 2009-07-13 09:09:08 -07:00
vt6655 Staging: vt6655: remove unused Makefile.{arm,x86} files 2009-09-15 12:01:40 -07:00
vt6656 Staging: vt6656: disable wpa related function due to memory failure of this part of codes 2009-09-15 12:01:42 -07:00
winbond mac80211: push rx status into skb->cb 2009-07-10 14:57:54 -04:00
wlan-ng Staging: wlan-ng: remove dependency on WIRELESS_EXT version 2009-09-15 12:01:37 -07:00
Kconfig Staging: Dream: separate Kconfig/Makefile into subdirectory 2009-09-15 12:02:05 -07:00
Makefile Staging: Dream: separate Kconfig/Makefile into subdirectory 2009-09-15 12:02:05 -07:00
staging.c