forked from Minki/linux
libata: don't consider 0xff as port empty if SStatus is available
Some SATA controllers (sata_sil) use 0xff to indicate port not ready status, not port empty. As libata interprets 0xff as port empty, this causes unnecessary reset failure and retry. Don't consider 0xff as port empty if SStatus is available and indicates that port is online. Signed-off-by: tejun Heo <htejun@gmail.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Indan Zupancic <indan@nul.nu> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
b33620f9fa
commit
fd7fe70161
@ -3022,7 +3022,7 @@ int ata_wait_ready(struct ata_port *ap, unsigned long deadline)
|
||||
|
||||
if (!(status & ATA_BUSY))
|
||||
return 0;
|
||||
if (status == 0xff)
|
||||
if (!ata_port_online(ap) && status == 0xff)
|
||||
return -ENODEV;
|
||||
if (time_after(now, deadline))
|
||||
return -EBUSY;
|
||||
|
Loading…
Reference in New Issue
Block a user