libata error handling is still of the "stupid simple" variety. While
that makes it easy to verify, it also means that we don't always recover
from some situations.
Right now, libata simply returns an error back to the SCSI layer.
For DMA, PCI and SATA bus errors, we need to reset the hardware and
retry the command.
It's a fairly important project, for anyone ambitious. Error handling
must be improved before I implement queueing (and possibly hotplug).
Jeff