diff options
author | Tejun Heo | 2007-05-14 17:26:18 +0200 |
---|---|---|
committer | Jeff Garzik | 2007-05-16 07:18:31 +0200 |
commit | da071b42f73dabbd0daf7ea4c3ff157d53b00648 (patch) | |
tree | 6b8aa61169f6c18263821d9c5fe298b3b2eb6b21 /.gitignore | |
parent | libata-acpi: add ATA_FLAG_ACPI_SATA port flag (diff) | |
download | kernel-qcow2-linux-da071b42f73dabbd0daf7ea4c3ff157d53b00648.tar.gz kernel-qcow2-linux-da071b42f73dabbd0daf7ea4c3ff157d53b00648.tar.xz kernel-qcow2-linux-da071b42f73dabbd0daf7ea4c3ff157d53b00648.zip |
libata: fix shutdown warning message printing
Unlocking ap->lock and ssleeping don't work because SCSI commands can
be issued from completion path without context. Reimplement delayed
completion by allowing translation functions to override
qc->scsidone(), storing the original completion function to
scmd->scsi_done() and overriding qc->scsidone() with a function which
schedules delayed invocation of scmd->scsi_done().
This isn't pretty at all but all the ugly parts are thankfully
contained in the stop translation path where the compat feature is
implemented.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions