From: Mark Lord <liml@rtr.ca>
To: Tejun Heo <htejun@gmail.com>
Cc: Jeff Garzik <jeff@garzik.org>,
Alan Cox <alan@lxorguk.ukuu.org.uk>, Alan Cox <alan@redhat.com>,
IDE/ATA development list <linux-ide@vger.kernel.org>
Subject: Re: libata fails to recover from HSM violation involving DRQ status
Date: Thu, 10 May 2007 23:33:10 -0400 [thread overview]
Message-ID: <4643E3F6.4080009@rtr.ca> (raw)
In-Reply-To: <463739E4.1030306@rtr.ca>
Mark Lord wrote:
> Mark Lord wrote:
>> Tejun Heo wrote:
>>> So, this is specific to SATA (the host side at least) piix && PIO READ,
>>> right? I think we can fit this code nicely into
>>> piix_sata_error_handler() if we make sure that it triggers under the
>>> right condition - after a PIO READ command fails due to HSM violation
>>> caused by stuck DRQ.
>>
>> Yeah, so far it's just PIO FROM DEVICE on a "SATA" device on ata_piix.
>> It *may* be more widespread than that, but we'll have to test some
>> others.
>
> I retested this again today on my new pure-SATA notebook with ata_piix.
> In this case, the DRQ drain is not necessary, but also doesn't harm
> anything.
> Tested it both ways. This is with a Hitachi HTS541612J9SA00 SATA drive.
>
> The original fault was on ata_piix SATA, with some kind of external
> bridge (on the motherboard) to a Seagate PATA drive. Sometime in the
> next few days I'll have the exact same drive, but with a SATA interface,
> and we'll try that in the pure-SATA situation.
>
> This will tell us whether it's the bridge, or the drive, that was the
> issue.
>
> The fix remains the same: drain the data fifo when DRQ is left high.
Okay, I finally got round to testing this with the new pure-SATA
notebook I have here. Same problem: without draining the DRQ fifo,
the system *never* recovers.
But with the patch to drain DRQ, all is well. That patch is now a keeper
for my own kernels. Tejun, did you want to cook up a better-placed variant
of it for mainline? I'm away for a few days now..
Cheers
next prev parent reply other threads:[~2007-05-11 3:33 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-28 20:15 libata fails to recover from HSM violation involving DRQ status Mark Lord
2007-04-28 20:18 ` Mark Lord
2007-04-28 20:30 ` Alan Cox
2007-04-28 20:37 ` Jeff Garzik
2007-04-28 20:44 ` Mark Lord
2007-04-28 20:50 ` Jeff Garzik
2007-04-28 21:25 ` Alan Cox
2007-04-28 21:35 ` Mark Lord
2007-04-28 21:38 ` Jeff Garzik
2007-04-28 21:41 ` Mark Lord
2007-04-29 3:17 ` Tejun Heo
2007-04-29 3:46 ` Jeff Garzik
2007-04-29 7:45 ` Tejun Heo
2007-04-29 3:51 ` Tejun Heo
2007-04-29 11:56 ` Mark Lord
2007-04-29 12:59 ` Mark Lord
2007-04-29 13:13 ` Mark Lord
2007-04-29 16:42 ` Tejun Heo
2007-04-29 16:47 ` Mark Lord
2007-04-29 18:49 ` Mark Lord
2007-04-29 19:05 ` Mark Lord
2007-04-30 0:59 ` Tejun Heo
2007-04-29 19:07 ` Mark Lord
2007-04-30 0:54 ` Tejun Heo
2007-04-30 3:42 ` Mark Lord
2007-04-30 3:58 ` Tejun Heo
2007-04-30 17:47 ` Mark Lord
2007-05-01 0:23 ` Mark Lord
2007-05-01 2:47 ` Tejun Heo
2007-05-01 13:00 ` Mark Lord
2007-05-11 3:33 ` Mark Lord [this message]
2007-05-11 3:35 ` Mark Lord
2007-04-29 12:07 ` Mark Lord
2007-04-29 16:36 ` Tejun Heo
2007-04-28 23:56 ` Alan Cox
2007-04-28 22:09 ` Mark Lord
2007-04-29 3:04 ` Tejun Heo
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=4643E3F6.4080009@rtr.ca \
--to=liml@rtr.ca \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=alan@redhat.com \
--cc=htejun@gmail.com \
--cc=jeff@garzik.org \
--cc=linux-ide@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;
as well as URLs for NNTP newsgroup(s).