[lkml]   [2007]   [May]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectRe: [PATCH] libata: implement ata_wait_after_reset()
    Tejun Heo wrote:
    > Yeah, if SCR registers are accessible, 0xff doesn't indicate the device
    > isn't there, so the whole skip-0xff logic probably shouldn't apply in
    > such cases, but we can also achieve pretty good result by just making
    > the first reset tries a bit more aggressive.

    So, here's the patch.

    Paul, can you please test this patch without the previous patch? Indan,
    this should reduce the resume delay. Please test. But you'll still
    feel some added delay compared to 2.6.20 due to the mentioned
    suspend/resume change.


    diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
    index d5939e6..27ddc39 100644
    --- a/drivers/ata/libata-core.c
    +++ b/drivers/ata/libata-core.c
    @@ -3031,7 +3031,7 @@ int ata_wait_ready(struct ata_port *ap,

    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;
     \ /
      Last update: 2007-05-19 21:07    [W:0.020 / U:16.236 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site