Re: IDE failure on ACPI resume

Nate Lawson
2005-03-14T04:53:59Z

> On resume, an HP nc6220 fails during resuming of the IDE devices. In
> this section of code from ide-iops.c:
>
> stat = hwif->INB(hwif->io_ports[IDE_STATUS_OFFSET]);
> if ((stat & BUSY_STAT) == 0)
> return 0;
> /*
> * Assume a value of 0xff means nothing is connected to
> * the interface and it doesn't implement the pull-down
> * resistor on D7.
> */
> if (stat == 0xff)
> return -ENODEV;
>
> 0xff is read and ENODEV returned. This results in

Sounds like PCI not being completely restored. We had to work around
some weird ATA issues in FreeBSD with the status register being invalid
for quite a while after resume. A retry loop was the solution.