Commit bed58b44 authored by Fam Zheng's avatar Fam Zheng Committed by Paolo Bonzini
Browse files

scsi-generic: Fill in opt_xfer_len in INQUIRY reply if it is zero



When opt_xfer_len is zero, Linux ignores max_xfer_len erroneously.

While that obviously should be fixed, we do older guests a favor to
always filling in a value.

Signed-off-by: default avatarFam Zheng <famz@redhat.com>
Message-Id: <20170327142625.1249-1-famz@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 5354edd2
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -237,9 +237,8 @@ static void scsi_read_complete(void * opaque, int ret)
        assert(max_transfer);
        stl_be_p(&r->buf[8], max_transfer);
        /* Also take care of the opt xfer len. */
        if (ldl_be_p(&r->buf[12]) > max_transfer) {
            stl_be_p(&r->buf[12], max_transfer);
        }
        stl_be_p(&r->buf[12],
                 MIN_NON_ZERO(max_transfer, ldl_be_p(&r->buf[12])));
    }
    scsi_req_data(&r->req, len);
    scsi_req_unref(&r->req);