diff options
Diffstat (limited to 'include/linux/usb.h')
-rw-r--r-- | include/linux/usb.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/include/linux/usb.h b/include/linux/usb.h index 6a9a0c28415d..eba1f10e8cfd 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
@@ -374,13 +374,12 @@ struct usb_bus { | |||
374 | 374 | ||
375 | int devnum_next; /* Next open device number in | 375 | int devnum_next; /* Next open device number in |
376 | * round-robin allocation */ | 376 | * round-robin allocation */ |
377 | struct mutex devnum_next_mutex; /* devnum_next mutex */ | ||
377 | 378 | ||
378 | struct usb_devmap devmap; /* device address allocation map */ | 379 | struct usb_devmap devmap; /* device address allocation map */ |
379 | struct usb_device *root_hub; /* Root hub */ | 380 | struct usb_device *root_hub; /* Root hub */ |
380 | struct usb_bus *hs_companion; /* Companion EHCI bus, if any */ | 381 | struct usb_bus *hs_companion; /* Companion EHCI bus, if any */ |
381 | 382 | ||
382 | struct mutex usb_address0_mutex; /* unaddressed device mutex */ | ||
383 | |||
384 | int bandwidth_allocated; /* on this bus: how much of the time | 383 | int bandwidth_allocated; /* on this bus: how much of the time |
385 | * reserved for periodic (intr/iso) | 384 | * reserved for periodic (intr/iso) |
386 | * requests is used, on average? | 385 | * requests is used, on average? |
@@ -720,7 +719,7 @@ extern void usb_enable_ltm(struct usb_device *udev); | |||
720 | 719 | ||
721 | static inline bool usb_device_supports_ltm(struct usb_device *udev) | 720 | static inline bool usb_device_supports_ltm(struct usb_device *udev) |
722 | { | 721 | { |
723 | if (udev->speed != USB_SPEED_SUPER || !udev->bos || !udev->bos->ss_cap) | 722 | if (udev->speed < USB_SPEED_SUPER || !udev->bos || !udev->bos->ss_cap) |
724 | return false; | 723 | return false; |
725 | return udev->bos->ss_cap->bmAttributes & USB_LTM_SUPPORT; | 724 | return udev->bos->ss_cap->bmAttributes & USB_LTM_SUPPORT; |
726 | } | 725 | } |
@@ -1069,7 +1068,7 @@ struct usbdrv_wrap { | |||
1069 | * for interfaces bound to this driver. | 1068 | * for interfaces bound to this driver. |
1070 | * @soft_unbind: if set to 1, the USB core will not kill URBs and disable | 1069 | * @soft_unbind: if set to 1, the USB core will not kill URBs and disable |
1071 | * endpoints before calling the driver's disconnect method. | 1070 | * endpoints before calling the driver's disconnect method. |
1072 | * @disable_hub_initiated_lpm: if set to 0, the USB core will not allow hubs | 1071 | * @disable_hub_initiated_lpm: if set to 1, the USB core will not allow hubs |
1073 | * to initiate lower power link state transitions when an idle timeout | 1072 | * to initiate lower power link state transitions when an idle timeout |
1074 | * occurs. Device-initiated USB 3.0 link PM will still be allowed. | 1073 | * occurs. Device-initiated USB 3.0 link PM will still be allowed. |
1075 | * | 1074 | * |
@@ -1569,7 +1568,7 @@ static inline void usb_fill_bulk_urb(struct urb *urb, | |||
1569 | * Initializes a interrupt urb with the proper information needed to submit | 1568 | * Initializes a interrupt urb with the proper information needed to submit |
1570 | * it to a device. | 1569 | * it to a device. |
1571 | * | 1570 | * |
1572 | * Note that High Speed and SuperSpeed interrupt endpoints use a logarithmic | 1571 | * Note that High Speed and SuperSpeed(+) interrupt endpoints use a logarithmic |
1573 | * encoding of the endpoint interval, and express polling intervals in | 1572 | * encoding of the endpoint interval, and express polling intervals in |
1574 | * microframes (eight per millisecond) rather than in frames (one per | 1573 | * microframes (eight per millisecond) rather than in frames (one per |
1575 | * millisecond). | 1574 | * millisecond). |
@@ -1595,7 +1594,7 @@ static inline void usb_fill_int_urb(struct urb *urb, | |||
1595 | urb->complete = complete_fn; | 1594 | urb->complete = complete_fn; |
1596 | urb->context = context; | 1595 | urb->context = context; |
1597 | 1596 | ||
1598 | if (dev->speed == USB_SPEED_HIGH || dev->speed == USB_SPEED_SUPER) { | 1597 | if (dev->speed == USB_SPEED_HIGH || dev->speed >= USB_SPEED_SUPER) { |
1599 | /* make sure interval is within allowed range */ | 1598 | /* make sure interval is within allowed range */ |
1600 | interval = clamp(interval, 1, 16); | 1599 | interval = clamp(interval, 1, 16); |
1601 | 1600 | ||