ATA MkIII - Hang after resume solution

Stefan Ehmann shoesoft at gmx.net
Sun Apr 10 05:28:49 PDT 2005


On Sun, 2005-04-10 at 13:12 +0200, Wiktor Niesiobedzki wrote:
> 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?

This causes a kernel panic in ata_reinit for me. (no detailed info
available since the computer freezes hard at that point)



More information about the freebsd-current mailing list