linux/drivers
Vasily Khoruzhick 850a28ecd8 spi: Fix race condition in stop_queue()
There's a race condition in stop_queue() in some drivers -
if drv_data->queue is empty, but drv_data->busy is still set
(or opposite situation) stop_queue will return -EBUSY.
So fix loop condition to check that both drv_data->queue is empty
and drv_data->busy is not set.

This patch affects following drivers:
pxa2xx_spi
spi_bfin5xx
amba-pl022
dw_spi

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Eric Miao <eric.y.miao@gmail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2011-04-07 11:17:45 -07:00
..
accessibility
acpi acpi: Remove sysfs_create_link from video driver 2011-03-28 13:05:29 -07:00
amba
ata Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-30 07:50:45 -07:00
atm atm/solos-pci: Don't flap VCs when carrier state changes 2011-03-30 16:53:38 -07:00
auxdisplay
base
block drbd: fix up merge error 2011-03-28 07:42:58 -07:00
bluetooth
cdrom
char char/tpm: Fix unitialized usage of data buffer 2011-03-29 09:45:34 -07:00
clk
clocksource
connector connector: convert to synchronous netlink message processing 2011-03-30 17:14:33 -07:00
cpufreq
cpuidle
crypto
dca
dio
dma Merge branch 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-03-27 20:58:56 -07:00
edac edac/mpc85xx: Limit setting/clearing of HID1[RFXE] to e500v1/v2 cores 2011-04-04 09:31:35 -05:00
eisa
firewire
firmware
gpio gpio/pch_gpio: Fix output value of pch_gpio_direction_output() 2011-03-31 15:17:40 -06:00
gpu Merge branch 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6 2011-04-05 13:39:49 -07:00
hid
hwmon hwmon: twl4030-madc-hwmon: add "platform:" prefix for platform modalias 2011-03-29 17:26:18 -07:00
hwspinlock
i2c
ide ide: always ensure that blk_delay_queue() is called if we have pending IO 2011-04-05 23:52:49 +02:00
idle
ieee802154
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2011-03-25 21:06:37 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-04-05 12:35:29 -07:00
isdn
leds Merge git://git.infradead.org/battery-2.6 2011-03-25 21:00:29 -07:00
lguest
macintosh powerpc/pmac: Rename cpu_state in therm_pm72 to avoid collision 2011-04-01 15:37:27 +11:00
mca
md dm: improve block integrity support 2011-04-05 23:52:43 +02:00
media Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-04-04 08:37:45 -07:00
memstick memstick: make enable_dma less generic in r592 2011-03-28 16:24:29 -07:00
message
mfd Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-03-29 12:09:30 -07:00
misc drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-03-29 12:09:30 -07:00
mtd Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus-1 2011-03-25 17:41:20 +02:00
net mlx4: fix kfree on error path in new_steering_entry() 2011-04-03 22:04:01 -07:00
nfc
nubus
of
oprofile
parisc parisc: Convert irq namespace 2011-03-29 14:48:08 +02:00
parport
pci drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
pcmcia Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-30 07:50:45 -07:00
platform drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
pnp
power drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
pps
ps3
rapidio
regulator regulator: Add MODULE_DEVICE_TABLE to max8997 and max8998 2011-03-27 11:47:25 +01:00
rtc rtc-mrst: Fix section types 2011-04-04 08:21:07 -07:00
s390 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 2011-03-25 17:47:04 -07:00
sbus
scsi x86: Stop including <linux/delay.h> in two asm header files 2011-03-29 09:37:42 +02:00
sfi
sh sh: Fix irq cleanup fallout 2011-03-30 00:15:49 +02:00
sn
spi spi: Fix race condition in stop_queue() 2011-04-07 11:17:45 -07:00
ssb
staging Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-04-04 08:33:53 -07:00
target Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2011-03-25 21:06:13 -07:00
tc
telephony
thermal
tty tty: fix endless work loop when the buffer fills up 2011-04-04 14:26:54 -07:00
uio
usb usb/serial: fix function args warnings, dropping *filp 2011-04-04 08:35:20 -07:00
uwb
vhost
video Merge branch 'unicore32' of git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32 2011-04-04 08:33:21 -07:00
virtio
vlynq vlynq: Convert irq functions 2011-03-28 19:33:04 +02:00
w1 drivers: Final irq namespace conversion 2011-03-29 14:48:19 +02:00
watchdog watchdog: softdog.c: enhancement to optionally invoke panic instead of reboot on timer expiry 2011-03-29 11:56:22 +00:00
xen xen: Use new irq_move functions 2011-03-29 10:01:05 -04:00
zorro
Kconfig
Makefile