LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>, Tejun Heo <htejun@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Will Trives <will@trivescon.com.au>,
	linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
	"Rafael J. Wysocki" <rjw@sisk.pl>
Subject: Re: cd/dvd inaccessible in 2.6.24-rc2
Date: Sat, 10 Nov 2007 18:28:52 -0500	[thread overview]
Message-ID: <47363EB4.4030008@garzik.org> (raw)
In-Reply-To: <20071110230553.1a935ec6@the-village.bc.nu>

Alan Cox wrote:
>>> ata9.00: qc timeout (cmd 0xa0)
>>> ata9.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
>>> ata9.00: cmd a0/00:00:00:02:00/00:00:00:00:00/a0 tag 0 cdb 0x5a data 2
>>> in
>>>          res 51/54:03:00:02:00/00:00:00:00:00/a0 Emask 0x5 (timeout)
>>> ata9.00: status: { DRDY ERR }
> 
> Could be an IRQ/ACPI regression, and in fact to me it looks more like
> that, than an IDE one. Probably worth trying the various IRQ routing
> options and seeing if they help.


Agreed, though the output is indeed signalling an error...  IMO the EH 
should handle the error if the device is signalling an error, upon 
timeout, rather than just going ahead and resetting the device.

Its similar to where ATA devices on PCI SFF controllers signal DMA error 
via timeout, where EH must inspect BMDMA Status register to determine if 
it's a DMA error signalled by hardware, or something that requires 
additional autopsy.

EH for ATAPI is quite different from EH for ATA, so there may be some 
areas where we don't handle things the right way for ATAPI.

Decoding the error message we have:

cdb 0x5a ==
	MODE SENSE(10)
status 0x51 ==
	DRDY
	command-specific flag (aka SERV, in !overlap case)
	CHK (check condition, aka error)
error 0x54 ==
	ABRT (command aborted or command parameter invalid)
	sense key 0x5 (illegal request)
ireason 0x3 ==
	the hardcoded values (bits 0 and 1) remain hardcoded, all good

Since BSY is not set in the Status register, and given the other 
information derived from the decoded values, it looks like the device is 
otherwise happy and ready to accept additional commands.

It appears to have chewed on an ATAPI command, spit it out, but failed 
to send a completion interrupt.

So its an open question whether it's a device not completing this 
errored-out command, or whether its IRQ/ACPI stuff infecting libata.

	Jeff



  reply	other threads:[~2007-11-10 23:29 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-10  4:27 Will Trives
2007-11-10 22:49 ` Andrew Morton
2007-11-10 23:05   ` Alan Cox
2007-11-10 23:28     ` Jeff Garzik [this message]
2007-11-11  0:13     ` Andrew Morton
2007-11-10 23:35 ` Jeff Garzik
2007-11-11  4:40   ` Will Trives
2007-11-12  6:00     ` Will Trives
2007-11-12 15:23       ` Tejun Heo
2008-02-21 17:07 Felix Homann

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=47363EB4.4030008@garzik.org \
    --to=jeff@garzik.org \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=htejun@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=will@trivescon.com.au \
    --subject='Re: cd/dvd inaccessible in 2.6.24-rc2' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).