|
I see host controllers execute the correct method of issuing SRST to the drive (FIS 27 with C=0, Control = 4). According to the DSR1:DSR2 or DSR1:DSR3 state machines, the drive should be sending back a successful (or failure) register FIS back to the controller. However, I'm noticing that drives do not seem to send that back and in addition, the specification does not specify a timeout value for how long this operation can take. (ATA-7 Vol 2 specifies that device 0 should terminate the operation and set an error bit if PDIAG- is not asserted in <= 31 s).
Seems like a potential race problem here if the HC leaves BSY up while it's waiting for the drive to send back a register FIS indicating the status completion of the SRST.
Obviously, the HC (and possibly upper level software) has the ultimate hammer of doing a COMRESET on the bus to bring the drive back into a known state.
Am I missing anything? Comments? |
- RE: [t13] SRST behavior on SATA Mark Overby
- RE: [t13] SRST behavior on SATA James . C . Hatfield
- RE: [t13] SRST behavior on SATA Tony Goodfellow
- RE: [t13] SRST behavior on SATA Larry Barras
- [t13] ATAPI bad device or bad host ? Andre Hedrick
