libata: fix reporting of drained bytes when clearing DRQ
When we drain data from a device to clear DRQ during error recovery, the number of bytes reported as drained is too low by a factor of 2 because the count is actually reporting the number of words drained, not bytes. Fix this. Signed-off-by: Robert Hancock <hancockrwd@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
b2dec48cca
commit
9a8fd68b15
|
@ -2275,7 +2275,7 @@ void ata_sff_drain_fifo(struct ata_queued_cmd *qc)
|
|||
ap = qc->ap;
|
||||
/* Drain up to 64K of data before we give up this recovery method */
|
||||
for (count = 0; (ap->ops->sff_check_status(ap) & ATA_DRQ)
|
||||
&& count < 32768; count++)
|
||||
&& count < 65536; count += 2)
|
||||
ioread16(ap->ioaddr.data_addr);
|
||||
|
||||
/* Can become DEBUG later */
|
||||
|
|
Loading…
Reference in New Issue