Aaarrgghh, So sorry.  I meant to reply to this subject, not the other
one.  It's the sata_inic162x driver that I'm getting random results
and timeouts from.

Bob


--- Tejun Heo <[EMAIL PROTECTED]> wrote:

> * Hardreset must not exit without actually performing reset regardless
>   of link status.  We're resetting the link after all.
> 
> * Minor message update.
> 
> * 150ms delay is meaningful iff link is online after reset is
>   complete.
> 
> Signed-off-by: Tejun Heo <[EMAIL PROTECTED]>
> ---
>  drivers/ata/sata_inic162x.c |   12 ++++--------
>  1 files changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/ata/sata_inic162x.c b/drivers/ata/sata_inic162x.c
> index b2a6f77..fad2bd3 100644
> --- a/drivers/ata/sata_inic162x.c
> +++ b/drivers/ata/sata_inic162x.c
> @@ -429,11 +429,6 @@ static int inic_hardreset(struct ata_port *ap, unsigned
> int *class)
>       /* hammer it into sane state */
>       inic_reset_port(port_base);
>  
> -     if (ata_port_offline(ap)) {
> -             *class = ATA_DEV_NONE;
> -             return 0;
> -     }
> -
>       val = readw(idma_ctl);
>       writew(val | IDMA_CTL_RST_ATA, idma_ctl);
>       readw(idma_ctl);        /* flush */
> @@ -443,16 +438,17 @@ static int inic_hardreset(struct ata_port *ap, unsigned
> int *class)
>       rc = sata_phy_resume(ap, timing);
>       if (rc) {
>               ata_port_printk(ap, KERN_WARNING, "failed to resume "
> -                             "link for reset (errno=%d)\n", rc);
> +                             "link after reset (errno=%d)\n", rc);
>               return rc;
>       }
>  
> -     msleep(150);
> -
>       *class = ATA_DEV_NONE;
>       if (ata_port_online(ap)) {
>               struct ata_taskfile tf;
>  
> +             /* wait a while before checking status */
> +             msleep(150);
> +
>               if (ata_busy_sleep(ap, ATA_TMOUT_BOOT_QUICK, ATA_TMOUT_BOOT)) {
>                       ata_port_printk(ap, KERN_WARNING,
>                                       "device busy after hardreset\n");
> -- 
> 1.4.4.4
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ide" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to