mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (45 commits) USB: gadget/multi: cdc_do_config: remove redundant check usb: r8a66597-hcd: fix removed from an attached hub USB: xhci: Make endpoint interval debugging clearer. USB: Fix usb_fill_int_urb for SuperSpeed devices USB: cp210x: Remove double usb_control_msg from cp210x_set_config USB: Remove last bit of CONFIG_USB_BERRY_CHARGE USB: gadget: add gadget controller number for s3c-hsotg driver USB: ftdi_sio: Fix locking for change_speed() function USB: g_mass_storage: fixed module name in Kconfig USB: gadget: f_mass_storage::fsg_bind(): fix error handling USB: g_mass_storage: fix section mismatch warnings USB: gadget: fix Blackfin builds after gadget cleansing USB: goku_udc: remove potential null dereference USB: option.c: Add Pirelli VID/PID and indicate Pirelli's modem interface is 0xff USB: serial: Fix module name typo for qcaux Kconfig entry. usb: cdc-wdm: Fix deadlock between write and resume usb: cdc-wdm: Fix order in disconnect and fix locking usb: cdc-wdm:Fix loss of data due to autosuspend usb: cdc-wdm: Fix submission of URB after suspension usb: cdc-wdm: Fix race between disconnect and debug messages ...
This commit is contained in:
commit
8fdb7e9f61
32 changed files with 335 additions and 148 deletions
|
|
@ -1055,7 +1055,8 @@ typedef void (*usb_complete_t)(struct urb *);
|
|||
* @number_of_packets: Lists the number of ISO transfer buffers.
|
||||
* @interval: Specifies the polling interval for interrupt or isochronous
|
||||
* transfers. The units are frames (milliseconds) for full and low
|
||||
* speed devices, and microframes (1/8 millisecond) for highspeed ones.
|
||||
* speed devices, and microframes (1/8 millisecond) for highspeed
|
||||
* and SuperSpeed devices.
|
||||
* @error_count: Returns the number of ISO transfers that reported errors.
|
||||
* @context: For use in completion functions. This normally points to
|
||||
* request-specific driver context.
|
||||
|
|
@ -1286,9 +1287,16 @@ static inline void usb_fill_bulk_urb(struct urb *urb,
|
|||
*
|
||||
* Initializes a interrupt urb with the proper information needed to submit
|
||||
* it to a device.
|
||||
* Note that high speed interrupt endpoints use a logarithmic encoding of
|
||||
* the endpoint interval, and express polling intervals in microframes
|
||||
* (eight per millisecond) rather than in frames (one per millisecond).
|
||||
*
|
||||
* Note that High Speed and SuperSpeed interrupt endpoints use a logarithmic
|
||||
* encoding of the endpoint interval, and express polling intervals in
|
||||
* microframes (eight per millisecond) rather than in frames (one per
|
||||
* millisecond).
|
||||
*
|
||||
* Wireless USB also uses the logarithmic encoding, but specifies it in units of
|
||||
* 128us instead of 125us. For Wireless USB devices, the interval is passed
|
||||
* through to the host controller, rather than being translated into microframe
|
||||
* units.
|
||||
*/
|
||||
static inline void usb_fill_int_urb(struct urb *urb,
|
||||
struct usb_device *dev,
|
||||
|
|
@ -1305,7 +1313,7 @@ static inline void usb_fill_int_urb(struct urb *urb,
|
|||
urb->transfer_buffer_length = buffer_length;
|
||||
urb->complete = complete_fn;
|
||||
urb->context = context;
|
||||
if (dev->speed == USB_SPEED_HIGH)
|
||||
if (dev->speed == USB_SPEED_HIGH || dev->speed == USB_SPEED_SUPER)
|
||||
urb->interval = 1 << (interval - 1);
|
||||
else
|
||||
urb->interval = interval;
|
||||
|
|
|
|||
Loading…
Reference in a new issue