Commit 3f1082e5 authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/aperard/tags/pull-xen-20200407' into staging



Xen queue for QEMU 5.0

- Fix for xen-block.
- A fix for a Coverity false positive in xen-usb.
- Update MAINTAINERS to add xen-usb.c to Xen section.

# gpg: Signature made Tue 07 Apr 2020 16:21:16 BST
# gpg:                using RSA key F80C006308E22CFD8A92E7980CF5572FD7FB55AF
# gpg:                issuer "anthony.perard@citrix.com"
# gpg: Good signature from "Anthony PERARD <anthony.perard@gmail.com>" [marginal]
# gpg:                 aka "Anthony PERARD <anthony.perard@citrix.com>" [marginal]
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 5379 2F71 024C 600F 778A  7161 D8D5 7199 DF83 42C8
#      Subkey fingerprint: F80C 0063 08E2 2CFD 8A92  E798 0CF5 572F D7FB 55AF

* remotes/aperard/tags/pull-xen-20200407:
  MAINTAINERS: Add xen-usb.c to Xen section
  xen-block: Fix uninitialized variable
  hw/usb/xen-usb.c: Pass struct usbback_req* to usbback_packet_complete()

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 2f37b022 758af9cf
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -440,6 +440,7 @@ F: hw/9pfs/xen-9p*
F: hw/char/xen_console.c
F: hw/display/xenfb.c
F: hw/net/xen_nic.c
F: hw/usb/xen-usb.c
F: hw/block/xen*
F: hw/block/dataplane/xen*
F: hw/xen/
+1 −1
Original line number Diff line number Diff line
@@ -860,7 +860,7 @@ static XenBlockIOThread *xen_block_iothread_create(const char *id,
    XenBlockIOThread *iothread = g_new(XenBlockIOThread, 1);
    Error *local_err = NULL;
    QDict *opts;
    QObject *ret_data;
    QObject *ret_data = NULL;

    iothread->id = g_strdup(id);

+4 −6
Original line number Diff line number Diff line
@@ -347,13 +347,11 @@ static int32_t usbback_xlat_status(int status)
    return -ESHUTDOWN;
}

static void usbback_packet_complete(USBPacket *packet)
static void usbback_packet_complete(struct usbback_req *usbback_req)
{
    struct usbback_req *usbback_req;
    USBPacket *packet = &usbback_req->packet;
    int32_t status;

    usbback_req = container_of(packet, struct usbback_req, packet);

    QTAILQ_REMOVE(&usbback_req->stub->submit_q, usbback_req, q);

    status = usbback_xlat_status(packet->status);
@@ -566,7 +564,7 @@ static void usbback_dispatch(struct usbback_req *usbback_req)

    usb_handle_packet(usbback_req->stub->dev, &usbback_req->packet);
    if (usbback_req->packet.status != USB_RET_ASYNC) {
        usbback_packet_complete(&usbback_req->packet);
        usbback_packet_complete(usbback_req);
    }
    return;

@@ -993,7 +991,7 @@ static void xen_bus_complete(USBPort *port, USBPacket *packet)

    usbif = usbback_req->usbif;
    TR_REQ(&usbif->xendev, "\n");
    usbback_packet_complete(packet);
    usbback_packet_complete(usbback_req);
}

static USBPortOps xen_usb_port_ops = {