This message is from the T13 list server.
DRQ with ERR means ERR?
BSY=0 ERR=1 always means "the command ended with an error" - doesn't matter what DRQ or any other status bit says - except DF (Device Fault) overrides all status bits when BSY=0.
In what sense has this command "ended"?
Until DRQ is clear, the host can't proceed with another command, by the rule that forbids writing x1F7 Command while BSY|DRQ is set?
And what of the ATAPI devices whose firmware doesn't get a chance to clear ERR until after the DRQ of Command Out?
And if DRQ with ERR means ERR, why then SRST? SRST in reaction to an unexpected DRQ I understand - but in reaction to an unexpected ERR?
ATA tradition - whenever something strange happens try a Soft Reset before retrying the command.
News to me, thank you.
Pat LaVarre
