linux-stable-rt/drivers/ide
Benjamin Herrenschmidt 867f8b4e47 [PATCH] ide: Workaround PM problem
The logic in ide_do_request() doesn't guarantee that both drives will be
serviced after a call.  It may "forget" to service one in some
circumstances, including when one of the drive is suspended (it will
eventually fail to service the slave when the master is suspended for
example).  This prevents the wakeup requests that gets queued on wakeup
from sleep from beeing serviced in some cases when 2 drives are sharing
an IDE bus.

The problem is deep enough in the way this code works (and there are
probably a few other problematic but rare corner cases) and fixing it
would require some major rethinking of the way IDE decides which channel
to service.  This is not 2.6.14 material.  However, in the meantime,
Bart has accepted this simple workaround that will fix the crash on
wakeup from sleep since this specific corner case is actually hitting
users to get into 2.6.14.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-10 08:40:47 -07:00
..
arm
cris
h8300
legacy [PATCH] pcmcia: update ID for NinjaATA 2005-09-26 13:11:31 +02:00
pci Fix up more strange byte writes to the PCI_ROM_ADDRESS config word 2005-09-13 07:59:34 -07:00
ppc
Kconfig
Makefile
ide-cd.c
ide-cd.h
ide-disk.c
ide-dma.c
ide-floppy.c
ide-generic.c
ide-io.c [PATCH] ide: Workaround PM problem 2005-10-10 08:40:47 -07:00
ide-iops.c [PATCH] ide: clean up the garbage in eighty_ninty_three 2005-09-13 08:22:28 -07:00
ide-lib.c
ide-pnp.c
ide-probe.c
ide-proc.c
ide-tape.c [PATCH] janitor: ide-tape: replace schedule_timeout() with msleep() 2005-09-10 10:06:33 -07:00
ide-taskfile.c [PATCH] ide: fix null request pointer for taskfile ioctl 2005-09-17 11:50:03 -07:00
ide-timing.h [PATCH] janitor: ide: min/max macros in ide-timing.h 2005-09-10 10:06:31 -07:00
ide.c
setup-pci.c