Re: cdrom: a dirty CD can freeze your system
From: Alan Cox
Date: Thu May 04 2006 - 09:37:21 EST
On Iau, 2006-05-04 at 14:32 +0200, Herbert Rosmanith wrote:
> I've been experimenting with damaged CDs this day. I observed that
> a dirty or (partly) unreadable CD will (1) block the process which is
> trying to read from the CD - it will be in state "D" - uninterruptible
> sleep and (2) sometimes(?) probably freeze your system such that even
> a manual reboot wont work (e.g., because it's not possible to log in, or
> keystrokes are no longer accepted) and a power-cycle is required.
This is a known problem with the old IDE layer. There are several
problems involved
1. The old IDE layer reset confuses some drives fatally
2. The DMA recovery tricks it does break the state machine of some
controllers and hang them for good
3. The error recovery and timer code races and can hang
4. The speed change paths used on DMA fail change down race everything
> please tell me a way to savely
> (1) reset the IDE interface, e.g via IDE-TASKFILE (or, for testing,
> a sequence of outb() to the chip)
> (2) reset the CD-drive - sending a WIN_DEVICE_RESET (linux/hdreg.h line 196)
> doesnt seem to be enough.
Please try the libata PATA patches instead of the old IDE layer.
Alan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/