]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
ocs_fc: When commands complete with an error, freeze the device queue.
authorRam Kishore Vegesna <ram@FreeBSD.org>
Fri, 24 Sep 2021 09:32:09 +0000 (15:02 +0530)
committerRam Kishore Vegesna <ram@FreeBSD.org>
Thu, 30 Sep 2021 07:31:17 +0000 (13:01 +0530)
commitd063d1bc928165e7798df5ec1c424794a1ec41e9
tree1d3feefe0e04352f442a5626927cfc12277e34d3
parent1af49c2eeb4a05f524ed9a6657c741bc96fbaf87
ocs_fc: When commands complete with an error, freeze the device queue.

Proper error recovery depends on freezing the device queue when an
error occurs, so we can recover from an error before sending
additional commands.

The ocs_fc(4) driver was not freezing the device queue for most
SCSI errors, and that broke error recovery.

sys/dev/ocs_fc/ocs_cam.c:
In ocs_scsi_initiator_io_cb(), freeze the device queue if
        we're passing back status other than CAM_REQ_CMP.

Submitted by: ken@kdm.org
Reviewed by: mav, ken
sys/dev/ocs_fc/ocs_cam.c