Jeff Garzik wrote: > SRST is specified to take no longer than 31 seconds from the clearing to > the SRST bit to the clearing of the BSY bit. > > Look through the software reset protocol documentation (ATA/ATAPI-7 > volume 2), mainly the device state machines. Jeff, this is different delay. We're short circuiting the 31sec wait when the reported status is 0xff to avoid wasting half a minute on port which has no device but is showing 0xff because bus datalines are not pulled down (PATA) or the specific controller is made to emulate 0xff when link isn't established yet (SATA). This never matters for PATA devices because no sane device reports 0xff as the status register value regardless of its state - 0xff is the special value indicating no device attached and data bus is floating, and 150ms is more than enough to allow the device to report its status register value (the spec says >= 2ms). Some SATA controllers use 0xff to indicate empty port. This seldomly matters as we have the almighty SStatus register to check device presence (there is a bug regarding this, patch pending). This GoVault drive fails because ata_piix doesn't have SCR while using 0xff to indicate port not ready (dunno exact which state causes 0xff status tho) while the GoVault drive fails to clear that state in 150ms (not 30s). The libata sees 0xff after SRST if GoVault drive is attached and thinks that the port is empty. So, I'm afraid there is no easy way out here but to wait longer for 0xff to clear. As Kovid suggested just a few secs should be enough. Thanks. -- tejun - 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