Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd7fe701612e42fb8780d7bf61fbb0467a488c9b
Commit:     fd7fe701612e42fb8780d7bf61fbb0467a488c9b
Parent:     b33620f9fa6a8deabaac7a7cd827cc7fafbf0064
Author:     Tejun Heo <[EMAIL PROTECTED]>
AuthorDate: Wed May 23 11:22:15 2007 +0200
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Thu May 24 20:34:48 2007 -0400

    libata: don't consider 0xff as port empty if SStatus is available
    
    Some SATA controllers (sata_sil) use 0xff to indicate port not ready
    status, not port empty.  As libata interprets 0xff as port empty, this
    causes unnecessary reset failure and retry.  Don't consider 0xff as
    port empty if SStatus is available and indicates that port is online.
    
    Signed-off-by: tejun Heo <[EMAIL PROTECTED]>
    Cc: Paul Mundt <[EMAIL PROTECTED]>
    Cc: Indan Zupancic <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/ata/libata-core.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index a6de57e..5788a9d 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -3022,7 +3022,7 @@ int ata_wait_ready(struct ata_port *ap, unsigned long 
deadline)
 
                if (!(status & ATA_BUSY))
                        return 0;
-               if (status == 0xff)
+               if (!ata_port_online(ap) && status == 0xff)
                        return -ENODEV;
                if (time_after(now, deadline))
                        return -EBUSY;
-
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  http://vger.kernel.org/majordomo-info.html

Reply via email to