diff options
author | hselasky <hselasky@FreeBSD.org> | 2013-09-12 10:39:38 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2013-09-12 10:39:38 +0000 |
commit | 3d434bd768592397df6ebc5e5701f88e33f685fd (patch) | |
tree | 7fd6da2d464d0c21be5741e0950dbedd2f46e0c0 | |
parent | 9ea4b5f27d73c61118db110125281791f3d32502 (diff) | |
download | FreeBSD-src-3d434bd768592397df6ebc5e5701f88e33f685fd.zip FreeBSD-src-3d434bd768592397df6ebc5e5701f88e33f685fd.tar.gz |
Don't issue USB resume signalling in USB device mode, if the USB power
mode is ON and suspend is detected. This confuses iPads running in USB
host mode at least.
MFC after: 1 week
Approved by: re (hrs)
-rw-r--r-- | sys/dev/usb/usb_hub.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/usb/usb_hub.c b/sys/dev/usb/usb_hub.c index d1727a0..46b7d8d 100644 --- a/sys/dev/usb/usb_hub.c +++ b/sys/dev/usb/usb_hub.c @@ -2083,7 +2083,8 @@ usbd_transfer_power_ref(struct usb_xfer *xfer, int val) static uint8_t usb_peer_should_wakeup(struct usb_device *udev) { - return ((udev->power_mode == USB_POWER_MODE_ON) || + return (((udev->power_mode == USB_POWER_MODE_ON) && + (udev->flags.usb_mode == USB_MODE_HOST)) || (udev->driver_added_refcount != udev->bus->driver_added_refcount) || (udev->re_enumerate_wait != 0) || (udev->pwr_save.type_refs[UE_ISOCHRONOUS] != 0) || |