mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 22:51:42 +00:00
[libata] sata_mv: errata check buglet fix
Fix a buglet; the errata check below this code is assuming the value in the sstatus variable is what was pulled out of the SCR_STATUS register. However, the status checks in the timeout loop clobber everything but the first 4 bits of sstatus, so the errata checks are invalid. This patch changes it to not clobber SStatus. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
c336923b66
commit
62f1d0e6de
@ -1961,8 +1961,7 @@ comreset_retry:
|
||||
timeout = jiffies + msecs_to_jiffies(200);
|
||||
do {
|
||||
sata_scr_read(ap, SCR_STATUS, &sstatus);
|
||||
sstatus &= 0x3;
|
||||
if ((sstatus == 3) || (sstatus == 0))
|
||||
if (((sstatus & 0x3) == 3) || ((sstatus & 0x3) == 0))
|
||||
break;
|
||||
|
||||
__msleep(1, can_sleep);
|
||||
|
Loading…
Reference in New Issue
Block a user