android_kernel_xiaomi_sm8350/drivers
Tejun Heo 0191944282 hd: fix locking
hd dance around local irq and HD_IRQ enable without achieving much.
It ends up transferring data from irq handler with both local irq and
HD_IRQ disabled.  The only place it actually does something is while
transferring the first block of a request which it does with HD_IRQ
disabled but local irq enabled.

Unfortunately, the dancing is horribly broken from locking POV.  IRQ
and timeout handlers access block queue without grabbing the queue
lock and running the driver in SMP configuration crashes the whole
machine pretty quickly.

Remove meaningless irq enable/disable dancing and add proper locking
in issue, irq and timeout paths.

Signed-off-by: Tejun Heo <tj@kernel.org>
2009-04-28 20:24:20 +02:00
..
accessibility
acpi Merge branch 'bjorn.button' into release 2009-04-24 10:42:29 -04:00
amba
ata [libata] fix build error on drivers/ata/pata_legacy.c 2009-04-17 19:05:33 -04:00
atm Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n) 2009-04-13 15:04:33 -07:00
auxdisplay
base driver synchronization: make scsi_wait_scan more advanced 2009-04-21 19:40:00 -07:00
block hd: fix locking 2009-04-28 20:24:20 +02:00
bluetooth
cdrom
char virtio-rng: Remove false BUG for spurious callbacks 2009-04-24 13:28:30 -07:00
clocksource clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
connector
cpufreq
cpuidle
crypto
dca
dio
dma
edac edac: ppc mpc85xx fix mc err detect 2009-04-21 13:41:51 -07:00
eisa
firewire
firmware
gpio
gpu ACPI, i915: Register ACPI video even when not modesetting 2009-04-24 00:42:06 -04:00
hid
hwmon
i2c
ide palm_bk3710: palm_bk3710_udmatimings[] CodingStyle fixup 2009-04-23 22:53:45 +02:00
idle
ieee1394
infiniband
input maple: input: fix up maple mouse driver 2009-04-27 09:22:31 +09:00
isdn USB: add reset endpoint operations 2009-04-17 10:50:27 -07:00
leds
lguest lguest: fix guest crash on non-linear addresses in gdt pvops 2009-04-19 23:14:01 +09:30
macintosh Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2009-04-24 08:16:05 -07:00
mca
md Merge branch 'for-linus' of git://neil.brown.name/md 2009-04-20 08:37:37 -07:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2009-04-24 08:36:06 -07:00
memstick
message scsi: mpt: suppress debugobjects warning 2009-04-21 13:41:50 -07:00
mfd
misc sgi-xp/sgi-gru: allow modules to load on non-uv systems 2009-04-21 13:41:50 -07:00
mmc
mtd cafe_nand: Fix warning 2009-04-24 07:52:08 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2009-04-24 07:46:51 -07:00
nubus
of
oprofile
parisc parport: Fix various uses of parport_pc 2009-04-14 08:48:50 -07:00
parport
pci PCI: only save/restore existent registers in the PCIe capability 2009-04-22 15:59:41 -07:00
pcmcia [ARM] 5458/1: pcmcia: pxa2xx-sharpsl: check if we do have Scoop config 2009-04-23 23:25:40 +01:00
platform Merge branch 'sony-laptop' into release 2009-04-24 01:34:52 -04:00
pnp
power
ps3
rapidio
regulator
rtc rtc-cmos: fix printk output 2009-04-21 13:41:50 -07:00
s390 [S390] Use tape_generic_offline directly. 2009-04-23 13:58:17 +02:00
sbus sbus: changed ioctls to unlocked 2009-04-14 19:46:19 -07:00
scsi scsi: a4000 - Correct driver unregistration in case of failure 2009-04-22 20:39:06 +02:00
serial serial: remove contact data 2009-04-24 07:52:08 -07:00
sh
sn
spi spi: pxa2xx: limit reaches -1 2009-04-21 13:41:49 -07:00
ssb
staging go7007: Convert to the new i2c device binding model 2009-04-21 21:47:22 +02:00
tc
telephony
thermal
uio UIO: fix specific device driver missing statement for depmod 2009-04-16 16:17:11 -07:00
usb USB: otg: Fix bug on remove path without transceiver 2009-04-23 14:15:31 -07:00
uwb
video Revert "linux.conf.au 2009: Tuz" 2009-04-27 12:00:27 -07:00
virtio virtio: fix suspend when using virtio_balloon 2009-04-19 23:14:01 +09:30
w1
watchdog [ARM] 5460/1: Orion: reduce namespace pollution 2009-04-23 23:25:41 +01:00
xen
zorro
Kconfig
Makefile