# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#                  ChangeSet    1.484   -> 1.485  
#       drivers/usb/core/message.c      1.3     -> 1.4    
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 02/06/14      [EMAIL PROTECTED]   1.485
# [PATCH] usb_set_interface for discontinous altsettings
# 
# during debugging ALSA's usb audio driver, it's found out that there
# are devices with insuccessive alternate settings.
# 
# for example, m-audio's quattro usb audio has audio streaming
# descriptors jumping from altset 0 to 4 or 3.
# 
# apparently, usb_set_interface() sends the array index instead of the
# actual altset value.  the attached patch fixes this behavior.
# --------------------------------------------
#
diff -Nru a/drivers/usb/core/message.c b/drivers/usb/core/message.c
--- a/drivers/usb/core/message.c        Fri Jun 14 14:15:28 2002
+++ b/drivers/usb/core/message.c        Fri Jun 14 14:15:28 2002
@@ -471,9 +471,13 @@
                return 0;
        }
 
+       if (alternate < 0 || alternate >= iface->num_altsetting)
+               return -EINVAL;
+
        if ((ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
-           USB_REQ_SET_INTERFACE, USB_RECIP_INTERFACE, alternate,
-           interface, NULL, 0, HZ * 5)) < 0)
+                                  USB_REQ_SET_INTERFACE, USB_RECIP_INTERFACE,
+                                  iface->altsetting[alternate].bAlternateSetting,
+                                  interface, NULL, 0, HZ * 5)) < 0)
                return ret;
 
        iface->act_altsetting = alternate;

_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas - 
http://devcon.sprintpcs.com/adp/index.cfm?source=osdntextlink

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to