linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Lord <liml@rtr.ca>
To: Jeff Garzik <jgarzik@pobox.com>, Tejun Heo <htejun@gmail.com>
Cc: IDE/ATA development list <linux-ide@vger.kernel.org>
Subject: libata-eh/pmp command sequence on NCQ media error
Date: Fri, 25 Apr 2008 09:56:11 -0400	[thread overview]
Message-ID: <4811E2FB.4040100@rtr.ca> (raw)
In-Reply-To: <481168FA.5020709@pobox.com>

Tejun,

During testing of my internal version of sata_mv.c here,
I noticed the following:

With no port-multiplier attached, a media error during NCQ
results in an immediate READ_LOG_EXT_10H to retrieve the
task file for the failed I/O.

With a port-multiplier, there is instead a flurry of sata_pmp_read()
attempts.  I'm guessing that the READ_LOG_EXT_10H would normally
then follow those ?

The problem is, on most of the Marvell chips, non-data commands
cannot succeed after any kind of error (until after the port is reset),
so they fail, and we never then get to the READ_LOG_EXT_10H stage.
Oddly, the READ_LOG_EXT_10H command itself is okay (with some errata
goodness tossed in).

So, for sata_mv at least, I'd kinda like to have libata-eh attempt
the READ_LOG_EXT_10H before it tries to (unsuccessfully) access the
per-port SCRs on the PMP.

For now, I'll try and hack something into my local tree to ensure
that things will actually work that way around without any other
unforseen complications.

But for upstream, I'm thinking maybe a HORKAGE flag or something?
I'm still trying to avoid having to pull a lot of libata-eh/pmp code
into sata_mv for local customizations.

Suggestions?

Cheers


  reply	other threads:[~2008-04-25 13:56 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-23 20:33 [PATCH] libata-eh copy result_tf flags from outgoing tf Mark Lord
2008-04-23 22:14 ` Tejun Heo
2008-04-23 23:37   ` Mark Lord
2008-04-24  1:02     ` Tejun Heo
2008-04-24  2:24       ` Mark Lord
2008-04-24  2:43         ` Tejun Heo
2008-04-24  2:36       ` Mark Lord
2008-04-24  2:42         ` Tejun Heo
2008-04-24  2:36 ` [PATCH] libata-eh set tf flags in NCQ EH result_tf Mark Lord
2008-04-24  2:43   ` Tejun Heo
2008-04-25  5:15   ` Jeff Garzik
2008-04-25 13:56     ` Mark Lord [this message]
2008-04-25 16:10       ` libata-eh/pmp command sequence on NCQ media error Tejun Heo
2008-04-25 16:34         ` Mark Lord
2008-04-30 21:33         ` Mark Lord
2008-04-30 21:40           ` Mark Lord
2008-04-30 21:52             ` Mark Lord
2008-05-01  0:51             ` Tejun Heo
2008-05-01  2:45               ` Mark Lord
2008-05-01  2:55                 ` Tejun Heo
2008-05-01  3:47                   ` Mark Lord
2008-05-01 11:24                   ` Mark Lord
2008-05-01 12:24                     ` Tejun Heo
2008-05-01 12:33                       ` Mark Lord
2008-05-01 12:40                         ` Tejun Heo
2008-05-01  2:48               ` Mark Lord
2008-05-01  2:54                 ` 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=4811E2FB.4040100@rtr.ca \
    --to=liml@rtr.ca \
    --cc=htejun@gmail.com \
    --cc=jgarzik@pobox.com \
    --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).