Commit 4f34337b authored by Alan Cox's avatar Alan Cox Committed by Jeff Garzik

libata: Note that our cache flush code needs fixing up

Remembered this while doing auditing and code review versus the specs
Signed-off-by: default avatarAlan Cox <alan@redhat.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 50a99018
...@@ -5906,6 +5906,10 @@ int ata_flush_cache(struct ata_device *dev) ...@@ -5906,6 +5906,10 @@ int ata_flush_cache(struct ata_device *dev)
else else
cmd = ATA_CMD_FLUSH; cmd = ATA_CMD_FLUSH;
/* This is wrong. On a failed flush we get back the LBA of the lost
sector and we should (assuming it wasn't aborted as unknown) issue
a further flush command to continue the writeback until it
does not error */
err_mask = ata_do_simple_cmd(dev, cmd); err_mask = ata_do_simple_cmd(dev, cmd);
if (err_mask) { if (err_mask) {
ata_dev_printk(dev, KERN_ERR, "failed to flush cache\n"); ata_dev_printk(dev, KERN_ERR, "failed to flush cache\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment