I have an AxisPad game controller from WalMart.  The USB driver
identifies it as "USB HID v1.00 Gamepad [ANKO Corp. Gemini Industries
Inc. ]".  The game pad doesn't work in any kernel after 2.6.0-test5. 
Here is the error message:

Dec 26 15:23:24 Dawnya kernel: hub 1-0:1.0: new USB device on port 2,
assigned address 5
Dec 26 15:23:24 Dawnya kernel: drivers/usb/core/config.c: unexpected
descriptor type 0x1
Dec 26 15:23:24 Dawnya kernel: usb 1-2: can't read configurations, error
-22

I determined that the problem is a result of the config.c patch 5 of 9
that appeared in 2.6.0-test6.  I commented out some parts of the code to
allow my game pad to work.  I'm not saying what I did is correct, but it
works for me.  Below is a patch for the 2.6.0 kernel that shows my
changes.  Could anyone tell me a better way of fixing the problem?

Thanks,
Ashley


--- linux-2.6.0-1/drivers/usb/core/config.c     2003-12-26
11:00:01.000000000 -0600
+++ linux-2.6.0-2/drivers/usb/core/config.c     2003-12-26
16:14:47.000000000 -0600
@@ -246,7 +246,7 @@
        j = 0;
        while (size2 >= sizeof(struct usb_descriptor_header)) {
                header = (struct usb_descriptor_header *) buffer2;
-               if ((header->bLength > size2) || (header->bLength < 2)) {
+               if ((header->bLength > size2) /*|| (header->bLength < 2)*/) {
                        warn("invalid descriptor of length %d", header->bLength);
                        return -EINVAL;
                }
@@ -268,7 +268,7 @@
                        if (i < nintf)
                                ++config->interface[i]->num_altsetting;
 
-               } else if ((header->bDescriptorType == USB_DT_DEVICE ||
+               } else if ((/*header->bDescriptorType == USB_DT_DEVICE ||*/
                    header->bDescriptorType == USB_DT_CONFIG) && j) {
                        warn("unexpected descriptor type 0x%X", 
header->bDescriptorType);
                        return -EINVAL;



-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to