+static void esp_command_complete(SCSIRequest *req, uint32_t arg)
Shouldn't the "arg" argument to the new ->command_complete be renamed
to something like "sense" or "status"?
+static void esp_transfer_data(SCSIRequest *req, uint32_t arg)
+{
+ ESPState *s = DO_UPCAST(ESPState, busdev.qdev, req->bus->qbus.parent);
+
+ DPRINTF("transfer %d/%d\n", s->dma_left, s->ti_size);
+ s->async_len = arg;
+ s->async_buf = scsi_req_get_buf(req);
+ if (s->dma_left) {
+ esp_do_dma(s);
+ } else if (s->dma_counter != 0&& s->ti_size<= 0) {
+ /* If this was the last part of a DMA transfer then the
+ completion interrupt is deferred to here. */
And for transfer_data "arg" should become "len".