cdrom: a dirty CD can freeze your system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



good day,

kernel-version: 2.6.16.13 preemptible

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.

the uninterruptible process will force a reboot - it wont go away.

one can observe that freeze in that icmp echo requests will be sent
back with several seconds delay (depending on how much buffering is
done).

the kernel log shows:
hdb: DMA timeout retry
hdb: timeout waiting for DMA
hdb: status timeout: status=0xd0 { Busy }
ide: failed opcode was: unknown
hdb: drive not ready for command
hdb: ATAPI reset complete
hdb: irq timeout: status=0xd0 { Busy }
ide: failed opcode was: unknown
hdb: ATAPI reset complete
hdb: DMA timeout retry
hdb: timeout waiting for DMA
hdb: status timeout: status=0xd0 { Busy }
ide: failed opcode was: unknown
hdb: drive not ready for command
hdb: ATAPI reset complete

... and so on (so the drive is (BUSY | READY | SEEK )

even sending an "hdparm -w" to the drive wont work, in contrast, it will
make it worse because it eventuelly will trigger a kernel panic.

just for sake of completeness, data is read from the device via "SG_IO"
ioctl and "READ CD" command accorinding to the MMC specs. the program
works well for undamaged CDs.

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.

kind regards,
herbert rosmanith

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux