diff options
Diffstat (limited to 'hw/scsi-bus.c')
-rw-r--r-- | hw/scsi-bus.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c index 666ca3c41c..2e4fd3874c 100644 --- a/hw/scsi-bus.c +++ b/hw/scsi-bus.c @@ -132,6 +132,7 @@ SCSIRequest *scsi_req_alloc(size_t size, SCSIDevice *d, uint32_t tag, uint32_t l req->dev = d; req->tag = tag; req->lun = lun; + req->status = -1; QTAILQ_INSERT_TAIL(&d->requests, req, next); return req; } @@ -362,3 +363,11 @@ int scsi_req_parse(SCSIRequest *req, uint8_t *buf) req->cmd.lba = scsi_req_lba(req); return 0; } + +void scsi_req_complete(SCSIRequest *req) +{ + assert(req->status != -1); + req->bus->complete(req->bus, SCSI_REASON_DONE, + req->tag, + req->status); +} |