| From stable-bounces@linux.kernel.org Wed Apr 16 20:05:44 2008 |
| From: Greg Kroah-Hartman <gregkh@suse.de> |
| Date: Thu, 17 Apr 2008 03:05:15 GMT |
| Subject: USB: remove broken usb-serial num_endpoints check |
| To: jejb@kernel.org, stable@kernel.org |
| Message-ID: <200804170305.m3H35F2h025133@hera.kernel.org> |
| |
| From: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| commit: 07c3b1a1001614442c665570942a3107a722c314 |
| |
| The num_interrupt_in, num_bulk_in, and other checks in the usb-serial |
| code are just wrong, there are too many different devices out there with |
| different numbers of endpoints. We need to just be sticking with the |
| device ids instead of trying to catch this kind of thing. It broke too |
| many different devices. |
| |
| This fixes a large number of usb-serial devices to get them working |
| properly again. |
| |
| |
| Cc: Oliver Neukum <oliver@neukum.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/serial/usb-serial.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/usb/serial/usb-serial.c |
| +++ b/drivers/usb/serial/usb-serial.c |
| @@ -844,6 +844,7 @@ int usb_serial_probe(struct usb_interfac |
| serial->num_interrupt_in = num_interrupt_in; |
| serial->num_interrupt_out = num_interrupt_out; |
| |
| +#if 0 |
| /* check that the device meets the driver's requirements */ |
| if ((type->num_interrupt_in != NUM_DONT_CARE && |
| type->num_interrupt_in != num_interrupt_in) |
| @@ -857,6 +858,7 @@ int usb_serial_probe(struct usb_interfac |
| kfree(serial); |
| return -EIO; |
| } |
| +#endif |
| |
| /* found all that we need */ |
| dev_info(&interface->dev, "%s converter detected\n", |