Revision 19d110ab hw/spapr_vscsi.c

b/hw/spapr_vscsi.c
463 463
    dprintf("VSCSI: Queued request sense tag 0x%x\n", req->qtag);
464 464
    if (n < 0) {
465 465
        fprintf(stderr, "VSCSI: REQUEST_SENSE wants write data !?!?!?\n");
466
        sdev->info->cancel_io(req->sreq);
467 466
        vscsi_makeup_sense(s, req, HARDWARE_ERROR, 0, 0);
468
        vscsi_send_rsp(s, req, CHECK_CONDITION, 0, 0);
469
        vscsi_put_req(s, req);
467
        scsi_req_abort(req->sreq, CHECK_CONDITION);
470 468
        return;
471 469
    } else if (n == 0) {
472 470
        return;
......
547 545
    }
548 546
    if (rc < 0) {
549 547
        fprintf(stderr, "VSCSI: RDMA error rc=%d!\n", rc);
550
        sdev->info->cancel_io(sreq);
551 548
        vscsi_makeup_sense(s, req, HARDWARE_ERROR, 0, 0);
552
        vscsi_send_rsp(s, req, CHECK_CONDITION, 0, 0);
553
        vscsi_put_req(s, req);
549
        scsi_req_abort(req->sreq, CHECK_CONDITION);
554 550
        return;
555 551
    }
556 552

  

Also available in: Unified diff