On Tue, Feb 28 2006, Jeff Garzik wrote: > Hannes Reinecke wrote: > >From: Hannes Reinecke <hare@xxxxxxx> > >Subject: AHCI suspend / resume fixes. > > > >The current ahci driver has the problem that it doesn't resume properly. > >Or rather, that resuming is unstable. > >Reason being is that AHCI has 4 registers containing the DMA address it > >should write things to. Of course there is no guarantee that Linux has > >assigned the same address to the DMA area across reboots. > >So we should better re-initialize those registers after resume. > > > >The patch also improves the port_start / port_stop routines to be more > >closely modelled after the spec. This also avoids a nasty msleep(500) > >during initialisation. > > > >Signed-off-by: Hannes Reinecke <hare@xxxxxxx> > > > Seems sane at first glance, but can you please regenerate this against > libata-dev.git#upstream ? > > Upstream 2.6.x doesn't care at all about suspend/resume, and AHCI has > seen several modifications in #upstream that are waiting for 2.6.17. Upstream 2.6.x certainly _does_ care about suspend/resume! To me, this patch seems simple enough to be included. It's little more than splitting the register init out form the port_stop/start functions and calling them on resume/suspend appropriately. -- Jens Axboe - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html