We have noted a problem with status reporting using the Standard Serial AHCI Serial ATA controller when sending an PIO-IN pass through command . What we have seen is that the error status from the last PIO-IN command is "stuck" in the FIS data. For instance, when we send a NOP command, we receive a 51:04 as an abort status. If we then send an identify, the 51:04 is "stuck", but the data buffer contains the data from the identify request. Checking this on an analyzer, we see the data and proper status on the line from the drive. We only see the "stale" status in the information returned by the system. This is without our diagnostic driver installed, using the standard drivers from the Windows install. We do not see this in our WinAHCI driver, nor do we see it on our LINUX platforms.
Currently our work around is fill the data buffer with random data and check it after we detect the stale status. That however causes other problems. The key is properly resolving the "stale" status problem.
Has anyone else encountered this "state" status?
H (952) 223-1349
C (952) 454-4629