From af06a0265e31848d895c1bbe173f03607cdba532 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 5 Nov 2020 14:41:10 +0100 Subject: 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 --- hw/usb/dev-storage.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c index 360e8ca..f0f0058 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; -- cgit v1.1