From: Fam Zheng Date: Tue, 27 Jan 2015 09:16:59 +0000 (+0800) Subject: scsi: Fix scsi_req_cancel_async for no aiocb req X-Git-Tag: v2.3.0-rc0~79^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2aeba9d8a1b6121b98948fcd42fd2aa32f68b750;p=thirdparty%2Fqemu.git scsi: Fix scsi_req_cancel_async for no aiocb req scsi_req_cancel_complete is responsible for releasing the request, so we shouldn't skip it in any case. This doesn't affect the only existing caller, virtio-scsi, but is useful for other devices once they use it. Suggested-by: Paolo Bonzini Signed-off-by: Fam Zheng Signed-off-by: Paolo Bonzini --- diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c index 9b740a3cfa1..db39ae0e23b 100644 --- a/hw/scsi/scsi-bus.c +++ b/hw/scsi/scsi-bus.c @@ -1756,6 +1756,8 @@ void scsi_req_cancel_async(SCSIRequest *req, Notifier *notifier) req->io_canceled = true; if (req->aiocb) { blk_aio_cancel_async(req->aiocb); + } else { + scsi_req_cancel_complete(req); } }