From: Gerd Hoffmann Date: Thu, 5 Nov 2020 13:41:10 +0000 (+0100) Subject: usb-storage: fill csw on cancel X-Git-Tag: qemu-xen-4.16.0-rc4~487^2~2 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=af06a0265e31848d895c1bbe173f03607cdba532;p=qemu-xen.git usb-storage: fill csw on cancel When scsi requests are canceled fill the csw (command status word) accordingly. Buglink: https://bugs.launchpad.net/qemu/+bug/1901981 Signed-off-by: Gerd Hoffmann Message-id: 20201105134112.25119-5-kraxel@redhat.com --- diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c index 360e8ca8f2..f0f005869d 100644 --- a/hw/usb/dev-storage.c +++ b/hw/usb/dev-storage.c @@ -327,6 +327,10 @@ static void usb_msd_request_cancelled(SCSIRequest *req) trace_usb_msd_cmd_cancel(req->tag); if (req == s->req) { + s->csw.sig = cpu_to_le32(0x53425355); + s->csw.tag = cpu_to_le32(req->tag); + s->csw.status = 1; /* error */ + scsi_req_unref(s->req); s->req = NULL; s->scsi_len = 0;