qemu/hw/usb
Ladi Prosek 66849dcfbe usb-hub: clear PORT_STAT_SUSPEND on wakeup
The spec says:

  Suspend: (PORT_SUSPEND) This field indicates whether or not the device
  on this port is suspended. Setting this field causes the device to
  suspend by not propagating bus traffic downstream. This field may be
  reset by a request or by resume signaling from the device attached to
  the port.

I can't find any specific statement like "the PORT_SUSPEND field is reset
automatically on remote wakeup", but without this patch, the only way to
reset it is via the ClearPortFeature request so the ".. or by resume
signaling from the device" clause is clearly not implemented on the remote
wakeup path.

The default xhci Windows driver does not issue the ClearPortFeature request
and suspended devices attached to a hub don't properly get out of the
suspended state. Interestingly, the default uhci Windows driver *does*
issue the ClearPortFeature request and does not exhibit this problem.

Signed-off-by: Ladi Prosek <lprosek@redhat.com>
Message-id: 20170511125314.24549-3-lprosek@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-05-12 12:26:40 +02:00
..
bus.c error: Apply error_propagate_null.cocci again 2017-04-24 09:13:45 +02:00
ccid-card-emulated.c event_notifier: cleanups around event_notifier_set_handler 2017-01-16 17:52:35 +01:00
ccid-card-passthru.c char: add a /chardevs container 2017-05-04 15:34:41 +04:00
ccid.h usb: Change *_exitfn return type from int to void 2016-10-28 18:17:23 +03:00
combined-packet.c usb: Clean up includes 2016-01-29 15:07:23 +00:00
core.c usb: check RNDIS message length 2016-02-23 10:38:00 +01:00
desc-msos.c usb: Clean up includes 2016-01-29 15:07:23 +00:00
desc.c usb: accept usb3 control requests 2017-02-06 10:23:17 +01:00
desc.h all: Clean up includes 2016-02-23 12:43:05 +00:00
dev-audio.c usb: replace handle_destroy with unrealize 2017-02-23 15:40:19 +01:00
dev-bluetooth.c usb: replace handle_destroy with unrealize 2017-02-23 15:40:19 +01:00
dev-hid.c usb: replace handle_destroy with unrealize 2017-02-23 15:40:19 +01:00
dev-hub.c usb-hub: clear PORT_STAT_SUSPEND on wakeup 2017-05-12 12:26:40 +02:00
dev-mtp.c usb: Set category and description of the MTP device 2017-01-24 23:26:54 +03:00
dev-network.c usb: replace handle_destroy with unrealize 2017-02-23 15:40:19 +01:00
dev-serial.c char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
dev-smartcard-reader.c usb: replace handle_destroy with unrealize 2017-02-23 15:40:19 +01:00
dev-storage.c -----BEGIN PGP SIGNATURE----- 2017-03-02 15:25:37 +00:00
dev-uas.c usb: release the created buses 2017-03-01 11:51:29 +04:00
dev-wacom.c usb: replace handle_destroy with unrealize 2017-02-23 15:40:19 +01:00
hcd-ehci-pci.c usb: ehci: fix memory leak in ehci 2017-02-21 08:11:42 +01:00
hcd-ehci-sysbus.c usb: Clean up includes 2016-01-29 15:07:23 +00:00
hcd-ehci.c usb: ehci: fix memory leak in ehci 2017-02-21 08:11:42 +01:00
hcd-ehci.h usb: ehci: fix memory leak in ehci 2017-02-21 08:11:42 +01:00
hcd-musb.c Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2016-03-22 22:20:17 +01:00
hcd-ohci.c ohci: relax link check 2017-03-09 09:46:13 +01:00
hcd-uhci.c usb/uhci: move pid check 2016-04-25 12:05:05 +01:00
hcd-xhci.c xhci: fix logging 2017-05-12 12:26:40 +02:00
host-legacy.c usb: Clean up includes 2016-01-29 15:07:23 +00:00
host-libusb.c usb-host: switch to LIBUSB_API_VERSION 2017-04-03 14:41:23 +01:00
host-stub.c hw/ppc/spapr: Fix boot path of usb-host storage devices 2017-01-31 10:10:13 +11:00
host.h usb-host: move legacy cmd line bits 2013-02-19 12:30:05 +01:00
libhw.c usb: Clean up includes 2016-01-29 15:07:23 +00:00
Makefile.objs xen: do not build backends for targets that do not support xen 2017-03-19 11:12:12 +01:00
quirks-ftdi-ids.h usbredir: Add support for buffered bulk input (v2) 2013-01-08 10:56:58 +01:00
quirks-pl2303-ids.h usbredir: Add support for buffered bulk input (v2) 2013-01-08 10:56:58 +01:00
quirks.c usb: Clean up includes 2016-01-29 15:07:23 +00:00
quirks.h usbredir: Add support for buffered bulk input (v2) 2013-01-08 10:56:58 +01:00
redirect.c usb-redir: fix stack overflow in usbredir_log_data 2017-05-12 12:26:40 +02:00
trace-events xhci: apply limits to loops 2017-02-21 08:11:43 +01:00
tusb6010.c Replaced get_tick_per_sec() by NANOSECONDS_PER_SECOND 2016-03-22 22:20:17 +01:00
xen-usb.c qobject: Use simpler QDict/QList scalar insertion macros 2017-05-09 09:13:51 +02:00