|
@@ -1566,14 +1566,17 @@ static void ftdi_set_max_packet_size(struct usb_serial_port *port)
|
|
struct usb_device *udev = serial->dev;
|
|
struct usb_device *udev = serial->dev;
|
|
|
|
|
|
struct usb_interface *interface = serial->interface;
|
|
struct usb_interface *interface = serial->interface;
|
|
- struct usb_endpoint_descriptor *ep_desc = &interface->cur_altsetting->endpoint[1].desc;
|
|
|
|
|
|
+ struct usb_endpoint_descriptor *ep_desc;
|
|
|
|
|
|
unsigned num_endpoints;
|
|
unsigned num_endpoints;
|
|
- int i;
|
|
|
|
|
|
+ unsigned i;
|
|
|
|
|
|
num_endpoints = interface->cur_altsetting->desc.bNumEndpoints;
|
|
num_endpoints = interface->cur_altsetting->desc.bNumEndpoints;
|
|
dev_info(&udev->dev, "Number of endpoints %d\n", num_endpoints);
|
|
dev_info(&udev->dev, "Number of endpoints %d\n", num_endpoints);
|
|
|
|
|
|
|
|
+ if (!num_endpoints)
|
|
|
|
+ return;
|
|
|
|
+
|
|
/* NOTE: some customers have programmed FT232R/FT245R devices
|
|
/* NOTE: some customers have programmed FT232R/FT245R devices
|
|
* with an endpoint size of 0 - not good. In this case, we
|
|
* with an endpoint size of 0 - not good. In this case, we
|
|
* want to override the endpoint descriptor setting and use a
|
|
* want to override the endpoint descriptor setting and use a
|