diff options
author | Robert Hancock <hancockrwd@gmail.com> | 2009-12-08 21:48:10 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2009-12-17 01:08:29 -0500 |
commit | 9a8fd68b15e7b047678a651b7f7e2f3dcd19d20d (patch) | |
tree | 2fcd55dc63893d0c2a0a2f27878b2528596c4d43 /drivers/ata/libata-sff.c | |
parent | b2dec48ccaad004fc706352f82725d43369d9bd7 (diff) |
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>
Diffstat (limited to 'drivers/ata/libata-sff.c')
-rw-r--r-- | drivers/ata/libata-sff.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c index efa8773bef5a..741065c9da67 100644 --- a/drivers/ata/libata-sff.c +++ b/drivers/ata/libata-sff.c | |||
@@ -2275,7 +2275,7 @@ void ata_sff_drain_fifo(struct ata_queued_cmd *qc) | |||
2275 | ap = qc->ap; | 2275 | ap = qc->ap; |
2276 | /* Drain up to 64K of data before we give up this recovery method */ | 2276 | /* Drain up to 64K of data before we give up this recovery method */ |
2277 | for (count = 0; (ap->ops->sff_check_status(ap) & ATA_DRQ) | 2277 | for (count = 0; (ap->ops->sff_check_status(ap) & ATA_DRQ) |
2278 | && count < 32768; count++) | 2278 | && count < 65536; count += 2) |
2279 | ioread16(ap->ioaddr.data_addr); | 2279 | ioread16(ap->ioaddr.data_addr); |
2280 | 2280 | ||
2281 | /* Can become DEBUG later */ | 2281 | /* Can become DEBUG later */ |