Messages in this thread | | | Date | Fri, 2 Jun 2006 21:50:46 +0200 | From | Jens Axboe <> | Subject | Re: [PATCH 07/11] the latest consensus libata resume fix |
| |
On Fri, Jun 02 2006, Chris Wright wrote: > -stable review patch. If anyone has any objections, please let us know. > ------------------ > > From: Mark Lord <liml@rtr.ca> > > 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@rtr.ca> > Acked-by: Jens Axboe <axboe@suse.de> > Signed-off-by: Jeff Garzik <jeff@garzik.org> > Signed-off-by: Chris Wright <chrisw@sous-sol.org> > Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> > --- > > 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.
-- Jens Axboe
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |