All of lore.kernel.org
 help / color / mirror / Atom feed
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: Mon, 30 Apr 2007 13:47:24 -0400	[thread overview]
Message-ID: <46362BAC.4030909@rtr.ca> (raw)
In-Reply-To: <46353E63.7070000@gmail.com>

Tejun Heo wrote:
> Mark Lord wrote:
>> Mark Lord wrote:
>>> ###### Test stuck DRQ on VIA-sata (disk):
>>>
>>> ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
>>> ata1.00: cmd ec/00:00:00:00:00/00:00:00:00:00/00 tag 0 cdb 0x0 data 0
>>>         res 58/00:00:00:00:00/00:00:00:00:00/a0 Emask 0x2 (HSM violation)
>> Why do we not always put a '\n' in front of that last line above ??
>> Sometimes it seems to have it, and lots of times it does not have a '\n'.
>> Weird.
>>
>>> ###### Test stuck DRQ on VIA-pata (ATAPI DVD/RW):
>>> ###### Notice how the first "ata4.00: cmd ..." line is *missing*:
>>>
>>>         res 58/00:02:00:00:02/00:00:00:00:00/40 Emask 0x2 (HSM violation)
>>> ata4: soft resetting port
>>> ata4.00: configured for UDMA/66
>>> ata4: EH complete
>> And in this case, the first line of diagnostics (the "cmd" line)
>> is always missing.  Why?
> 
> Hmmm... that's very weird.  I've never seen such problems. 

Well, from looking at the code, we see that the last thing
before the "res" line is a "%s" for dma_str[qc->dma_dir].
If qc->dma_dir is corrupted (or just not set), then we'll get
semi-random garbage, which must be what's happening here.

The easy fix is to do this:

-                        dma_str[qc->dma_dir],
+                        dma_str[qc->dma_dir & 3],

We should do that regardless, as it's just safe programming.

Tejun:  I don't have an up-to-date GIT tree here at the moment,
so perhaps you could generate a patch to put this fix into your tree for Jeff ?

I'll try and test it here first, and post again after I've done so.

Secondly, I might later have a look and see why qc-dma_dir
doesn't have a proper value..

Thanks

  parent reply	other threads:[~2007-04-30 17:47 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 [this message]
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
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=46362BAC.4030909@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.