virtio-scsi: change DID TIMEOUT handling
authorBruce Rogers <brogers@suse.com>
Wed, 3 Feb 2021 21:25:38 +0000 (14:25 -0700)
committerwanchao-xu <wanchao.xu@samsung.com>
Tue, 9 Jan 2024 11:48:23 +0000 (19:48 +0800)
This patch implements a change of SG_ERR_DID_TIME_OUT handling as
suggested in
https://bugzilla.suse.com/show_bug.cgi?id=1178049#c145

Suggested-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Bruce Rogers <brogers@suse.com>
hw/scsi/virtio-scsi.c

index 3155658db33f95a572a4c7ff495ecfd8cd72e0b5..2e5bcf442384905d8d80fd487eea05d5a74b1fe6 100644 (file)
@@ -507,7 +507,6 @@ static void virtio_scsi_command_complete(SCSIRequest *r, uint32_t status,
         req->resp.cmd.response = VIRTIO_SCSI_S_INCORRECT_LUN;
         break;
     case SG_ERR_DID_ABORT:
-    case SG_ERR_DID_TIME_OUT:
         req->resp.cmd.response = VIRTIO_SCSI_S_ABORTED;
         break;
     case SG_ERR_DID_BAD_TARGET:
@@ -517,6 +516,7 @@ static void virtio_scsi_command_complete(SCSIRequest *r, uint32_t status,
         req->resp.cmd.response = VIRTIO_SCSI_S_RESET;
         break;
     case SG_ERR_DID_BUS_BUSY:
+    case SG_ERR_DID_TIME_OUT:
         req->resp.cmd.response = VIRTIO_SCSI_S_BUSY;
         break;
     case SG_ERR_DID_TRANSPORT_DISRUPTED: