kernel-hacking-2024-linux-s.../drivers/ide
Hua Zhong ce42f19137 [PATCH] IDE error handling fixes
In 2.6.15.1 I encountered some IDE crashes when unplugging IDE cables to
emulate disk errors.  Below is a patch against 2.6.16 which I think still
applies.

1.  The first BUG_ON could trigger when a PREFLUSH IO fails (it would
   fail the original barrier request which hasn't been marked REQ_STARTED
   yet).

2. the rq could have been dequeued already (same as 1).

3.  HWGROUP(drive)->rq could be NULL because of the ide_error() several
   lines earlier.

Signed-off-by: Hua Zhong <hzhong@gmail.com>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-03 08:04:07 -07:00
..
arm Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cris Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
h8300 Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
legacy [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
mips [PATCH] Alchemy: Delete unused pt_regs * argument from au1xxx_dbdma_chan_alloc 2006-09-26 08:48:54 -07:00
pci [PATCH] non-libata driver for Jmicron devices 2006-10-03 08:04:07 -07:00
ppc fix broken/dubious driver suspend() methods 2006-09-25 21:08:37 -07:00
ide-cd.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
ide-cd.h [PATCH] ide-cd: remove write-only cmd field from struct cdrom_info 2005-12-15 02:20:49 +01:00
ide-disk.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
ide-dma.c [PATCH] IDE: always release DMA engine 2006-10-03 08:04:07 -07:00
ide-floppy.c [PATCH] Remove ->rq_status from struct request 2006-09-30 20:29:23 +02:00
ide-generic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ide-io.c [PATCH] IDE error handling fixes 2006-10-03 08:04:07 -07:00
ide-iops.c [PATCH] IDE: Touch NMI watchdog during resume from STR 2006-07-31 13:28:39 -07:00
ide-lib.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
ide-pnp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ide-probe.c [PATCH] irq-flags: ide: Use the new IRQF_ constants 2006-07-02 13:58:49 -07:00
ide-proc.c [PATCH] optical /proc/ide/*/media 2006-09-08 10:22:50 -07:00
ide-tape.c [PATCH] completions: lockdep annotate on stack completions 2006-10-01 00:39:24 -07:00
ide-taskfile.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
ide-timing.h [PATCH] ide: actually honor drive's minimum PIO/DMA cycle times 2006-06-26 09:58:27 -07:00
ide.c [PATCH] IDE: claim extra DMA ports regardless of channel 2006-10-03 08:04:07 -07:00
Kconfig [PATCH] non-libata driver for Jmicron devices 2006-10-03 08:04:07 -07:00
Makefile [IDE] Add driver for Sibyte Swarm evaluation board 2005-11-17 16:23:50 +00:00
setup-pci.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00