This message is from the T13 list server.
Hale and I were discussing an issue with the "Execute Device Diagnostics" command, and I'd like to see if there's enough collective memory as to why the spec is the way it is. Ever since ATA5 there is a host-side state diagram that shows a transition to the "HED2: Check Status" after receiving a completion interrupt for the EDD command, at which time the host state diagram shows the host polling on busy de-asserting. The polling is unnecessary since a master cannot complete the coomand and interrupt the host until the slave has de-asserted busy and signalled PDIAG (assuming the working case, for now). So why did we put this polling loop in the unterrupt path? It seems like a mistake to me. ATA4 didn't define this behavior, so I believe the error snuck in at ATA5 time and lingered ever since. Does anyone remember what gives from back in 1999 on this subject? Thanks, MKE
