From: Herbert Rosmanith <kernel@wildsau.enemy.org>
To: linux-kernel@vger.kernel.org
Cc: Herbert Rosmanith <kernel@wildsau.enemy.org>
Subject: cdrom: a dirty CD can freeze your system
Date: Thu, 4 May 2006 14:32:48 +0200 (MET DST) [thread overview]
Message-ID: <200605041232.k44CWnFn004411@wildsau.enemy.org> (raw)
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
next reply other threads:[~2006-05-04 12:37 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-04 12:32 Herbert Rosmanith [this message]
2006-05-04 12:45 ` Michael Tokarev
2006-05-04 12:56 ` Herbert Rosmanith
2006-05-04 14:41 ` Joseph Cheek
2006-05-04 13:48 ` Alan Cox
2006-05-04 14:14 ` Christian Trefzer
2006-05-04 15:28 ` Alan Cox
2006-05-04 17:54 ` Christian Trefzer
2006-05-04 16:50 ` Wakko Warner
2006-05-04 17:10 ` Alan Cox
2006-05-04 17:27 ` Joshua Hudson
2006-05-04 20:47 ` Wakko Warner
2006-05-05 0:10 ` Joshua Hudson
2006-05-05 0:20 ` Wakko Warner
2006-05-04 20:56 ` kernel keeps empty CDROM(DVD)-drive "busy"; (was Re: cdrom: a dirty CD can freeze your system) Linda Walsh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200605041232.k44CWnFn004411@wildsau.enemy.org \
--to=kernel@wildsau.enemy.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®