Commit 1cee80fa authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/kraxel/tags/usb-20191107-pull-request' into staging



usb: fix for usb-host

# gpg: Signature made Thu 07 Nov 2019 08:55:12 GMT
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/usb-20191107-pull-request:
  usb-host: add option to allow all resets.

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents 59015778 1dfe2b91
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -86,7 +86,9 @@ struct USBHostDevice {
    uint32_t                         options;
    uint32_t                         loglevel;
    bool                             needs_autoscan;
    bool                             allow_guest_reset;
    bool                             allow_one_guest_reset;
    bool                             allow_all_guest_resets;

    /* state */
    QTAILQ_ENTRY(USBHostDevice)      next;
    int                              seen, errcount;
@@ -1462,10 +1464,10 @@ static void usb_host_handle_reset(USBDevice *udev)
    USBHostDevice *s = USB_HOST_DEVICE(udev);
    int rc;

    if (!s->allow_guest_reset) {
    if (!s->allow_one_guest_reset && !s->allow_all_guest_resets) {
        return;
    }
    if (udev->addr == 0) {
    if (!s->allow_all_guest_resets && udev->addr == 0) {
        return;
    }

@@ -1586,7 +1588,10 @@ static Property usb_host_dev_properties[] = {
    DEFINE_PROP_UINT32("productid", USBHostDevice, match.product_id, 0),
    DEFINE_PROP_UINT32("isobufs",  USBHostDevice, iso_urb_count,    4),
    DEFINE_PROP_UINT32("isobsize", USBHostDevice, iso_urb_frames,   32),
    DEFINE_PROP_BOOL("guest-reset", USBHostDevice, allow_guest_reset, true),
    DEFINE_PROP_BOOL("guest-reset", USBHostDevice,
                     allow_one_guest_reset, true),
    DEFINE_PROP_BOOL("guest-resets-all", USBHostDevice,
                     allow_all_guest_resets, false),
    DEFINE_PROP_UINT32("loglevel",  USBHostDevice, loglevel,
                       LIBUSB_LOG_LEVEL_WARNING),
    DEFINE_PROP_BIT("pipeline",    USBHostDevice, options,