diff options
| author | Bart Van Assche <bvanassche@acm.org> | 2026-09-25 11:05:43 -0700 |
|---|---|---|
| committer | Niklas Cassel <cassel@kernel.org> | 2026-09-29 10:56:51 +0200 |
| commit | cfce1dc635041d6b9dd5fad5367a331faaf644fe (patch) | |
| tree | 41ce9bdb80d42c69327fb5f6b95693ccfe671eb8 /Documentation | |
| parent | 6b28e0e7a07353544de517c2c06357260637a6df (diff) | |
| download | linux-next-cfce1dc635041d6b9dd5fad5367a331faaf644fe.tar.gz linux-next-cfce1dc635041d6b9dd5fad5367a331faaf644fe.zip | |
ata: libata: Fix scsi_done() documentation
In 2008 the SCSI core was converted to use the block layer timeout
infrastructure instead of its own infrastructure (see also patch
"block: unify request timeout handling"). Since then, calling
scsi_done() while SCSI host recovery is in progress has no effect.
Originally the REQ_ATOM_COMPLETE flag was used to prevent double
completions. Today the SCMD_STATE_COMPLETE flag is used to prevent
double completions.
Instead of mentioning that calling scsi_done() is not allowed while
host recovery is in progress, mention that it has no effect.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://lore.kernel.org/r/291519238580d795929d44437f3c863403d14e1f.1790359497.git.bvanassche@acm.org
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/driver-api/libata.rst | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Documentation/driver-api/libata.rst b/Documentation/driver-api/libata.rst index 28b8437f6e4f..c130b480180f 100644 --- a/Documentation/driver-api/libata.rst +++ b/Documentation/driver-api/libata.rst @@ -524,8 +524,8 @@ EH will know to handle it later. Then it calls low level libata driver's :c:func:`error_handler` callback. When the :c:func:`error_handler` callback is invoked it stops BMDMA and -completes the qc. Note that as we're currently in EH, we cannot call -scsi_done. As described in SCSI EH doc, a recovered scmd should be +completes the qc. Note that as we're currently in EH, scsi_done() has +no effect. As described in SCSI EH doc, a recovered scmd should be either retried with :c:func:`scsi_queue_insert` or finished with :c:func:`scsi_finish_command`. Here, we override ``qc->scsidone`` with :c:func:`scsi_finish_command` and calls :c:func:`ata_qc_complete`. |
