Revision ab9adc88 hw/scsi-disk.c
b/hw/scsi-disk.c | ||
---|---|---|
170 | 170 |
n = r->iov.iov_len / 512; |
171 | 171 |
r->sector += n; |
172 | 172 |
r->sector_count -= n; |
173 |
r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, r->req.tag, r->iov.iov_len);
|
|
173 |
scsi_req_data(&r->req, r->iov.iov_len);
|
|
174 | 174 |
} |
175 | 175 |
|
176 | 176 |
|
... | ... | |
182 | 182 |
if (r->sector_count == (uint32_t)-1) { |
183 | 183 |
DPRINTF("Read buf_len=%zd\n", r->iov.iov_len); |
184 | 184 |
r->sector_count = 0; |
185 |
r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, r->req.tag, r->iov.iov_len);
|
|
185 |
scsi_req_data(&r->req, r->iov.iov_len);
|
|
186 | 186 |
return; |
187 | 187 |
} |
188 | 188 |
DPRINTF("Read sector_count=%d\n", r->sector_count); |
... | ... | |
245 | 245 |
vm_stop(VMSTOP_DISKFULL); |
246 | 246 |
} else { |
247 | 247 |
if (type == SCSI_REQ_STATUS_RETRY_READ) { |
248 |
r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, r->req.tag, 0);
|
|
248 |
scsi_req_data(&r->req, 0);
|
|
249 | 249 |
} |
250 | 250 |
scsi_command_complete(r, CHECK_CONDITION, |
251 | 251 |
HARDWARE_ERROR); |
... | ... | |
281 | 281 |
} |
282 | 282 |
r->iov.iov_len = len; |
283 | 283 |
DPRINTF("Write complete tag=0x%x more=%d\n", r->req.tag, len); |
284 |
r->req.bus->complete(r->req.bus, SCSI_REASON_DATA, r->req.tag, len);
|
|
284 |
scsi_req_data(&r->req, len);
|
|
285 | 285 |
} |
286 | 286 |
} |
287 | 287 |
|
Also available in: Unified diff