summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorBart Van Assche <bvanassche@acm.org>2026-09-25 11:05:43 -0700
committerNiklas Cassel <cassel@kernel.org>2026-09-29 10:56:51 +0200
commitcfce1dc635041d6b9dd5fad5367a331faaf644fe (patch)
tree41ce9bdb80d42c69327fb5f6b95693ccfe671eb8 /Documentation
parent6b28e0e7a07353544de517c2c06357260637a6df (diff)
downloadlinux-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.rst4
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`.