On Fri, Mar 31, 2006 at 06:04:06PM +0800, Albert Lee wrote: > Changes: > - add ata_irq_off() to libata.h > - call ata_irq_off() to disable the interrupt before soft reset > > Signed-off-by: Albert Lee <albertcc@xxxxxxxxxx> > --- > > When testing an old 1996 Acer 8x CD-ROM drive (CD-787E), an > interrupt is generated in ata_devchk(), right after the device is selected. > (The unhandled irq cause the IRQ 10 to be disabled.) > > Disabling interrupts before doing soft reset fixes the problem. > However, this problem is only seen on the specific CD-ROM drive. > So, don't know whether the fix is necessary. > > Patch against upstream (8b316a3973f05e572b4edeeda9072987f6bbaa44). > For your review, thanks. > Hello, Albert. Please hold this off. This issue is handled by new EH. This problem is bigger than just during reset. Any error condition which leaves the device and/or controller has potential to cause similar problems or worse (e.g. data corruption, screaming interrupts). New EH handles this by freezing ports when device/controller enters unknown state. The controller is thawed after EH reset is complete. The same mechanism applies to probing. All ports are started frozen. Only after initial reset is complete, ports get thawed. It's been a loooooong week but I'm splitting the patches now. :) -- tejun - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html