Re: [PATCH 07/11] the latest consensus libata resume fix

From: Jens Axboe
Date: Sat Jun 03 2006 - 09:23:14 EST


On Sat, Jun 03 2006, Marcel Holtmann wrote:
> Hi Jens,
>
> > > -stable review patch. If anyone has any objections, please let us know.
> > > ------------------
> > >
> > > From: Mark Lord <liml@xxxxxx>
> > >
> > > Okay, just to sum things up.
> > >
> > > This forces libata to wait for up to 2 seconds for BUSY|DRQ to clear
> > > on resume before continuing.
> > >
> > > [jgarzik adds...] During testing we never saw DRQ asserted, but
> > > nonetheless (a) this works and (b) testing for DRQ won't hurt.
> > >
> > > Signed-off-by: Mark Lord <liml@xxxxxx>
> > > Acked-by: Jens Axboe <axboe@xxxxxxx>
> > > Signed-off-by: Jeff Garzik <jeff@xxxxxxxxxx>
> > > Signed-off-by: Chris Wright <chrisw@xxxxxxxxxxxx>
> > > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
> > > ---
> > >
> > > drivers/scsi/libata-core.c | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > --- linux-2.6.16.19.orig/drivers/scsi/libata-core.c
> > > +++ linux-2.6.16.19/drivers/scsi/libata-core.c
> > > @@ -4293,6 +4293,7 @@ static int ata_start_drive(struct ata_po
> > > int ata_device_resume(struct ata_port *ap, struct ata_device *dev)
> > > {
> > > if (ap->flags & ATA_FLAG_SUSPENDED) {
> > > + ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 200000);
> > > ap->flags &= ~ATA_FLAG_SUSPENDED;
> > > ata_set_mode(ap);
> > > }
> >
> > I'm not against the patch as such, but last I checked 2.6.16 actually
> > worked ok. The timer fixes in 2.6.17-rc is what apparently got the
> > resume breaking.
> >
> > So unless there's a bug report on 2.6.16.x for this, then it's a little
> > against the -stable rules to add it.
>
> I had problems with resume on my IBM X41 since I got it (something
> around 2.6.15) and only this patch made it work again.
>
> Because of the SDHCI stuff I always used the latest kernel and thus I
> wasn't sure if there actually was a problem or not. So I tested a plain
> 2.6.16 with and without this patch. The plain 2.6.16 doesn't resume on
> my IBM X41 laptop. If I apply this patch, the resume works perfect.

Ok, no problem from my end then.

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/