ATA MkIII - Hang after resume solution

Kevin Oberman oberman at es.net
Mon Apr 11 09:13:35 PDT 2005


> Date: Sun, 10 Apr 2005 13:12:02 +0200
> From: Wiktor Niesiobedzki <bsd at w.evip.pl>
> Sender: owner-freebsd-current at freebsd.org
> 
> Hi,
> 
> I think I found solution to the problem, that after MkIII disks does not
> reinit. Solution is simple:
> 
> --- /usr/src/sys/dev/ata/ata-pci.c      Fri Apr  8 11:37:47 2005
> +++ /tmp/ata-pci.c      Sun Apr 10 13:09:48 2005
> @@ -599,8 +599,8 @@
>      DEVMETHOD(device_attach,    ata_pcichannel_attach),
>      DEVMETHOD(device_detach,    ata_pcichannel_detach),
>      DEVMETHOD(device_shutdown,  bus_generic_shutdown),
> -    DEVMETHOD(device_suspend,   bus_generic_suspend),
> -    DEVMETHOD(device_resume,    bus_generic_resume),
> +    DEVMETHOD(device_suspend,   ata_suspend),
> +    DEVMETHOD(device_resume,    ata_resume),
>  
>      /* ATA methods */
>      DEVMETHOD(ata_setmode,      ata_pcichannel_setmode),
> 
> This is rollback of changes introduced by MkIII. After that change
> suspend/resume works again.
> 
> Can anybody review this?

Sorry, but I have been on the road and couldn't test until this morning.

ata is now resuming again and I can can now successfully suspend and
resume my ThinkPad T30. I have tried suspending and resuming both in
console mode and in X.

Everything appears to re running as it did prior to MkIII except the
slight oddity that the cd (atapicam) now does not probe until after root
is mounted. If I boot single user, the probe messages pop up after I am
asked for the shell to be run. This does not seem to have any impact on
things. It's just that I have never seen probes for devices present at
boot show up after root is mounted.
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net			Phone: +1 510 486-8634


More information about the freebsd-current mailing list