Re: [PATCH REPOST] libata: lengthen interval between SRST set and clear

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 9/28/06, Jeff Garzik <jgarzik@xxxxxxxxx> wrote:
Given the minimal amount of problem reports, I'd rather hold off and
collect data.  What devices are affected?  Is it complaining because
it's in the middle of a reset when SRST is received?  Is it just one
model of one device?  Is this definitely reproducible on all SATA
controllers?  etc.

Too many unknowns right now...

        Jeff

I agree 100%.  The specification states in section 13.1.1 of the 2.5
SATA specification covering Parallel ATA Emulation for Software Reset:

"Although host software is required to toggle the SRST bit no faster
than 5 us, devices may not rely on the inter-arrival time of received
Register – Host to Device FISes also meeting this timing. Because of
flow control, frame handshaking, and other protocol interlocks,
devices may effectively receive the resulting Register – Device to
Host FISes back-to-back."

Is it possible that the "set" of SRST hasn't actually occurred on the
bus when the "clear" of SRST is issued to the controller?  If that's
the case, then the right answer should be using a mechanism to confirm
transmission of the HTD register FIS before generating the clear for
SRST.  I'm guessing this is basically looking for R_OK from the
device.

Drive firmware has to cope with these latencies (as well as
collisions, especially in NCQ), so surely there's a safe way to do it
in the various controllers.

--eric
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux