On Fri, Mar 04 2005, [EMAIL PROTECTED] wrote:
> 
> > 
> > There's still a problem here, you are not initializing nsectors for
> > non-pc requests. And your comments wrap :) 
> > 
> >         int nsectors = rq->hard_nr_sectors;
> > 
> >         if (blk_pc_request(rq))
> >                 nsectors = (rq->data_len + 511) >> 9;
> >         if (!nsectors)
> >                 nsectors = 1;
> > 
> >         ...
> > 
> > Can you resend with that fixed up and with a Signed-off-by header?
> 
> Here it is.  Thanks for all the help.  I'm attaching as a file, too,
> just in case it gets garbled again.
> Stuart
> 
> 
> Signed-off-by: Stuart Hayes <[EMAIL PROTECTED]>
> 
> --- linux-2.6.11/drivers/ide/ide-io.c.orig    2005-03-04
> 16:11:14.000000000 -0500
> +++ linux-2.6.11/drivers/ide/ide-io.c 2005-03-04 16:19:19.000000000
> -0500
> @@ -516,7 +516,19 @@ static ide_startstop_t ide_atapi_error(i
>               hwif->OUTB(WIN_IDLEIMMEDIATE, IDE_COMMAND_REG);
>  
>       if (rq->errors >= ERROR_MAX) {
> -             drive->driver->end_request(drive, 0, 0);
> +             /* 
> +              * make sure request is fully ended--otherwise the 
> +              * command will be retried without rq->errors getting
> +              * reset to zero, which could cause us to get stuck
> +              * in a loop with infinite retries without any more
> +              * reset attempts
> +              */
> +             int nsectors = rq->hard_nr_sectors;
> +             if (blk_pc_request(rq))
> +                     nsectors = (rq->data_len + 511) >> 9;
> +             if (!nsectors)
> +                     nsectors = 1;
> +             drive->driver->end_request(drive, 0, nsectors);
>       } else {
>               if ((rq->errors & ERROR_RESET) == ERROR_RESET) {
>                       ++rq->errors;

Looks good, Bart care to pick this up?

Signed-off-by: Jens Axboe <[EMAIL PROTECTED]>

-- 
Jens Axboe

-
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