Commit:     4f34337b1f6f7c1e0f2e3c938eb9eadd340593fe
Parent:     50a99018787aa1aed812e09ad5b27647475656a0
Author:     Alan Cox <[EMAIL PROTECTED]>
AuthorDate: Wed Aug 8 14:30:31 2007 +0100
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Fri Oct 12 14:55:32 2007 -0400

    libata: Note that our cache flush code needs fixing up
    Remembered this while doing auditing and code review versus the specs
    Signed-off-by: Alan Cox <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
 drivers/ata/libata-core.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index d2141a0..c0f3c78 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -5906,6 +5906,10 @@ int ata_flush_cache(struct ata_device *dev)
                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);
        if (err_mask) {
                ata_dev_printk(dev, KERN_ERR, "failed to flush cache\n");
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to