linux-stable/drivers
Julia Lawall 254702568d specialix.c: 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>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-07-20 16:38:43 -07:00
..
accessibility
acpi ACPI: video: prevent NULL deref in acpi_get_pci_dev() 2009-06-26 00:23:42 -04:00
amba [ARM] amba: fix amba device resources 2009-07-05 22:39:08 +01:00
ata ahci: add device ID for 82801JI sata controller 2009-07-14 22:42:56 -04:00
atm
auxdisplay
base Firmware: firmware_class, fix lock imbalance 2009-07-12 13:02:10 -07:00
block virtio_blk: ioctl return value fix 2009-07-17 21:47:46 +09:30
bluetooth headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
cdrom
char specialix.c: convert nested spin_lock_irqsave to spin_lock 2009-07-20 16:38:43 -07:00
clocksource clocksource: sh_tmu: Make undefined TCOR behaviour less undefined. 2009-06-24 21:08:11 +09:00
connector
cpufreq [CPUFREQ] Fix compile failure in cpufreq.c 2009-07-08 19:04:23 -04:00
cpuidle
crypto
dca
dio
dma DMA: txx9dmac: use dma_unmap_single if DMA_COMPL_{SRC,DEST}_UNMAP_SINGLE set 2009-06-24 18:34:40 +01:00
edac edac: add DDR3 memory type for MPC85xx EDAC 2009-06-30 18:55:59 -07:00
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-07-06 14:03:44 -07:00
firmware
gpio headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
gpu drm: Move a dereference below a NULL test 2009-07-15 16:56:48 +10:00
hid headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
hwmon hwmon: (abituguru3) DMI probing for AB9, AB9 QuadQT and IX38 QuadGT 2009-07-11 13:42:38 +02:00
i2c i2c: Use resource_size 2009-07-15 00:03:56 +01:00
ide Revert "ide: improve handling of Power Management requests" 2009-07-06 12:39:27 -07:00
idle
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-07-06 14:03:44 -07:00
ieee802154
infiniband Merge branches 'ehca', 'misc', 'mlx4', 'mthca' and 'nes' into for-linus 2009-06-23 10:38:47 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-07-08 09:32:41 -07:00
isdn headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
leds Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
lguest lguest: remove unnecessary forward struct declaration 2009-07-17 21:47:44 +09:30
macintosh powerpc/pmac: Fix DMA ops for MacIO devices 2009-06-26 14:37:25 +10:00
mca
md Fix congestion_wait() sync/async vs read/write confusion 2009-07-10 20:31:53 +02:00
media headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
memstick
message fusion: mptsas, fix lock imbalance 2009-06-22 08:54:14 -05:00
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-07-08 09:32:41 -07:00
misc headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
mmc Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 2009-07-09 16:07:22 +01:00
mtd UBI: fix compilation warnings 2009-07-08 10:15:41 +03:00
net Revert "ppp: Fix throttling bugs" 2009-07-16 09:14:23 -07:00
nubus
of
oprofile oprofile: reset bt_lost_no_mapping with other stats 2009-07-10 12:35:36 +02:00
parisc Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
parport parport/serial: add support for NetMos 9901 Multi-IO card 2009-06-30 18:55:59 -07:00
pci headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
pcmcia Remove multiple KERN_ prefixes from printk formats 2009-07-08 10:30:03 -07:00
platform Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-09 20:33:18 -07:00
pnp Merge branches 'acerhdf', 'acpi-pci-bind', 'bjorn-pci-root', 'bugzilla-12904', 'bugzilla-13121', 'bugzilla-13396', 'bugzilla-13533', 'bugzilla-13612', 'c3_lock', 'hid-cleanups', 'misc-2.6.31', 'pdc-leak-fix', 'pnpacpi', 'power_nocheck', 'thinkpad_acpi', 'video' and 'wmi' into release 2009-06-24 01:19:50 -04:00
power wm97xx_batery: replace driver_data with dev_get_drvdata() 2009-07-12 13:02:10 -07:00
pps LinuxPPS: core support 2009-06-18 13:04:04 -07:00
ps3
rapidio
regulator
rtc rtc: ds1374, fix lock imbalance 2009-07-06 13:57:03 -07:00
s390 headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
sbus
scsi headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
serial drivers/serial/bfin_sport_uart.c: remove wrong and unneeded memset 2009-07-16 09:19:16 -07:00
sh
sn
spi spi: bitbang bugfix in message setup 2009-06-30 18:56:00 -07:00
ssb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-07-09 20:33:18 -07:00
staging Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2009-07-13 10:24:43 -07:00
tc
telephony headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
thermal
uio
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2009-07-13 10:23:03 -07:00
uwb
video Merge master.kernel.org:/home/rmk/linux-2.6-arm 2009-07-18 11:59:33 -07:00
virtio virtio-pci: correctly unregister root device on error 2009-07-17 21:47:47 +09:30
vlynq vlynq: fix typo in Kconfig to enable debugging 2009-07-06 13:57:03 -07:00
w1 Merge git://git.infradead.org/battery-2.6 2009-06-24 14:35:57 -07:00
watchdog Merge master.kernel.org:/home/rmk/linux-2.6-arm 2009-07-18 11:59:33 -07:00
xen xen: Use kcalloc() in xen_init_IRQ() 2009-07-01 11:19:47 +02:00
zorro
Kconfig LinuxPPS: core support 2009-06-18 13:04:04 -07:00
Makefile LinuxPPS: core support 2009-06-18 13:04:04 -07:00