linux/drivers/usb/core
Alan Stern d09d36a91c [PATCH] USB: usb_bulk_message() handles interrupts endpoints
Because there is no bulk_interrupt_message() routine and no
USBDEVFS_INTERRUPT ioctl, people have been forced to abuse the
usb_bulk_message() routine and USBDEVFS_BULK by using them for interrupt
transfers as well as bulk transfers.

This patch (as567) formalizes this practice and adds code to
usb_bulk_message() for detecting when the target is really an interrupt
endpoint.  If it is, the routine submits an interrupt URB (using the
default interval) instead of a bulk URB.  In theory this should help HCDs
that don't like it when people try to mix transfer types, queuing both
periodic and non-periodic types for the same endpoint.

Not fully tested -- I don't have any programs that use USBDEVFS_BULK for
interrupt transfers -- but it compiles okay and normal bulk messages work
as well as before.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/usb/core/message.c |   24 ++++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)
2005-10-28 16:47:41 -07:00
..
buffer.c [PATCH] gfp_t: drivers/usb 2005-10-28 08:16:49 -07:00
config.c [PATCH] USB: fix up some sparse warnings about static functions that aren't static. 2005-04-18 17:39:24 -07:00
devices.c [PATCH] make driver's name be const char * 2005-06-20 15:15:01 -07:00
devio.c [PATCH] USB: add more snooping hooks in devio.c 2005-10-28 16:47:38 -07:00
file.c [PATCH] devfs: Remove the mode field from usb_class_driver as it's no longer needed 2005-10-28 16:47:37 -07:00
hcd-pci.c [PATCH] usbcore PCI glue updates for PM 2005-10-28 16:47:40 -07:00
hcd.c [PATCH] updates for "controller suspended" handling 2005-10-28 16:47:41 -07:00
hcd.h [PATCH] usbcore PCI glue updates for PM 2005-10-28 16:47:40 -07:00
hub.c [PATCH] stop exporting two functions 2005-10-28 16:47:41 -07:00
hub.h [PATCH] ehci: add think_time 2005-09-08 16:28:35 -07:00
inode.c Use the new "kill_proc_info_as_uid()" for USB disconnect too 2005-10-10 16:31:30 -07:00
Kconfig [PATCH] root hub updates (greater half) 2005-10-28 16:47:40 -07:00
Makefile [PATCH] USB: real nodes instead of usbfs 2005-09-08 16:22:29 -07:00
message.c [PATCH] USB: usb_bulk_message() handles interrupts endpoints 2005-10-28 16:47:41 -07:00
otg_whitelist.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysfs.c [PATCH] USB: add endpoint information to sysfs 2005-10-28 16:47:37 -07:00
urb.c [PATCH] updates for "controller suspended" handling 2005-10-28 16:47:41 -07:00
usb.c [PATCH] root hub changes (lesser half) 2005-10-28 16:47:40 -07:00
usb.h [PATCH] stop exporting two functions 2005-10-28 16:47:41 -07:00