ChangeSet 1.1867.3.9, 2004/09/14 11:58:23-07:00, [EMAIL PROTECTED]

[PATCH] USB: acm work around for misplaced

this implements a work around for some devices which have correct
extra descriptors, but misplace them.


Signed-Off-By: Oliver Neukum <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>


 drivers/usb/class/cdc-acm.c |   11 +++++++++++
 1 files changed, 11 insertions(+)


diff -Nru a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
--- a/drivers/usb/class/cdc-acm.c       2004-10-19 08:13:42 -07:00
+++ b/drivers/usb/class/cdc-acm.c       2004-10-19 08:13:42 -07:00
@@ -547,6 +547,17 @@
                return -EINVAL;
        }
 
+       if (!buflen) {
+               if (intf->cur_altsetting->endpoint->extralen && 
intf->cur_altsetting->endpoint->extra) {
+                       dev_dbg(&intf->dev,"Seeking extra descriptors on endpoint");
+                       buflen = intf->cur_altsetting->endpoint->extralen;
+                       buffer = intf->cur_altsetting->endpoint->extra;
+               } else {
+                       err("Zero length descriptor references");
+                       return -EINVAL;
+               }
+       }
+
        while (buflen > 0) {
                if (buffer [1] != USB_DT_CS_INTERFACE) {
                        err("skipping garbage");



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to