diff options
author | Tejun Heo <htejun@gmail.com> | 2007-05-14 11:26:18 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-05-16 01:18:31 -0400 |
commit | da071b42f73dabbd0daf7ea4c3ff157d53b00648 (patch) | |
tree | 6b8aa61169f6c18263821d9c5fe298b3b2eb6b21 /include | |
parent | 3cadbcc09891b8544203f211dac13f9cc4e6832a (diff) |
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 'include')
0 files changed, 0 insertions, 0 deletions