Jens Axboe wrote:
I thought about that, and I don't agree. Waiting for the BSY to clear is
not a pci property, at best I'd consider that even worse than defining a
scsi resume function in ata_piix.
It has nothing to do with PCI, and everything to do control flow. This
is _how the hardware works_:
First you resume the controller.
Then you resume the bus.
Then you resume the devices on the bus.
The original patch goes BACKWARDS, by trying to resume the bus from the
device resume method. That's just dumb.
In a PCI driver, the resume is _always_ driven by pci_driver::resume.
Control flow starts there. Once you get down to the individual device
level -- with the original patch -- you are attempting to pick up the
pieces that should have _already_ been done by higher layers.
This is how all drivers work. Control flow starts at driver::resume,
which in turn directs resumption of various layers.
Jeff
-
: 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