mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Serguei Miridonov <mirsev@cicese.mx>
To: Robert Hancock <hancockrwd@gmail.com>
Cc: linux-kernel@vger.kernel.org, Jeff Garzik <jeff@garzik.org>,
	Tejun Heo <tj@kernel.org>
Subject: Re: Intel ICH9M/M-E SATA error-handling/reset problems
Date: Sun, 15 Feb 2009 13:55:32 -0800	[thread overview]
Message-ID: <200902151355.32596.mirsev@cicese.mx> (raw)
In-Reply-To: <499877C5.6090205@gmail.com>

On Sunday 15 February 2009, Robert Hancock wrote:
> Right now interface CRC error is considered an ATA bus error which
> always triggers a reset.

Well, my very strong opinion based just on general physics is that 
error rate on SATA can be (and will be) much higher than that one on 
PATA. PATA operates at lower frequencies and cables are much shorter. 
eSATA cables are longer and work at up to 3Gb/s. Moreover, consider 
all these consumer-grade connectors, cables, etc. So, CRC errors could 
be quite common and software needs to handle them properly to keep 
transfers fast and maintain the communication with a device.

> It's possible this could be relaxed in
> some cases, but the issue is that if CRC errors are occurring the
> link may be in an invalid state which simply retrying the command
> will not clear.

Let's think positively ;-). If CRC error occurs (in data or command 
sequence), the device just doesn't accept what it receives with the 
last transfer. So, it should wait what host says next. I think, before 
doing hard reset or whatever is necessary to completely restart the 
interface together with connected device - before doing that the 
kernel should try to check if link is up and the device is listenning. 
Why not to try a short request to let the device send something short 
in response?

> Tejun, any thoughts?
>
> > Another question is how the drive reacts to hard reset... My
> > error log shows that both drives do not like it for some reason -
> > they stop responding sometimes, so may be some additional
> > programming of drives is necessary after hard reset... Something
> > which is done in BIOS after power on... I don't know...
>
> The same hard reset is done (and generally has to be done) on
> driver initialization and when a drive is hot plugged, so it should
> work.

It depends... If hard reset is like a reboot for the driver firmware, 
it may take more that 30 seconds for Seagate external drive, though 
I'm not sure... Trying to push the interaface before the device is 
ready to receive commands may be considered by the drive as link 
problem and it may refuse to communicate. Well, again, I'm not 
familiar with this, just speculating...

> > ... Could you point me a link to the uncompressed
> > kernel tree where I can see source files?
>
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git is
> likely the easiest place to view..

Thank you, I'll take a look.



  reply	other threads:[~2009-02-15 21:56 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-14 20:06 Serguei Miridonov
2009-02-14 20:53 ` Jeff Garzik
2009-02-14 22:01 ` Robert Hancock
2009-02-15 18:00   ` Serguei Miridonov
2009-02-15 18:04     ` Robert Hancock
2009-02-15 19:41       ` Serguei Miridonov
2009-02-15 20:15         ` Robert Hancock
2009-02-15 21:55           ` Serguei Miridonov [this message]
2009-02-16  2:11       ` Tejun Heo
2009-02-16 16:17         ` Serguei Miridonov
2009-02-19  6:29           ` 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=200902151355.32596.mirsev@cicese.mx \
    --to=mirsev@cicese.mx \
    --cc=hancockrwd@gmail.com \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tj@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®