X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Fpatches-2.6.38%2F801-usb_serial_endpoint_size.patch;h=726dc7dd53548571501c2ef63c4836ec6bb90cc8;hb=371bccb4c03afab4ac17f9a2742ac364361aa284;hp=3725b922ce3b6a8d64e0c299006bb92af1458429;hpb=1f5d24e562d9659d44b09637f94013ce34bb8dc4;p=openwrt%2Fopenwrt.git diff --git a/target/linux/generic/patches-2.6.38/801-usb_serial_endpoint_size.patch b/target/linux/generic/patches-2.6.38/801-usb_serial_endpoint_size.patch index 3725b922ce..726dc7dd53 100644 --- a/target/linux/generic/patches-2.6.38/801-usb_serial_endpoint_size.patch +++ b/target/linux/generic/patches-2.6.38/801-usb_serial_endpoint_size.patch @@ -1,5 +1,7 @@ ---- a/drivers/usb/serial/usb-serial.c -+++ b/drivers/usb/serial/usb-serial.c +Index: linux-2.6.38.1/drivers/usb/serial/usb-serial.c +=================================================================== +--- linux-2.6.38.1.orig/drivers/usb/serial/usb-serial.c 2011-03-23 21:04:47.000000000 +0100 ++++ linux-2.6.38.1/drivers/usb/serial/usb-serial.c 2011-03-28 16:58:26.673254994 +0200 @@ -61,6 +61,7 @@ static struct usb_driver usb_serial_driv drivers depend on it. */ @@ -8,16 +10,17 @@ static int debug; /* initially all NULL */ static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; -@@ -913,7 +914,7 @@ int usb_serial_probe(struct usb_interfac +@@ -912,7 +913,8 @@ int usb_serial_probe(struct usb_interfac + goto probe_error; } - buffer_size = serial->type->bulk_in_size; - if (!buffer_size) -- buffer_size = le16_to_cpu(endpoint->wMaxPacketSize); -+ buffer_size = (endpoint->wMaxPacketSize > maxSize) ? endpoint->wMaxPacketSize : maxSize; + buffer_size = max_t(int, serial->type->bulk_in_size, +- le16_to_cpu(endpoint->wMaxPacketSize)); ++ min_t(int, le16_to_cpu(endpoint->wMaxPacketSize), ++ maxSize)); port->bulk_in_size = buffer_size; port->bulk_in_endpointAddress = endpoint->bEndpointAddress; port->bulk_in_buffer = kmalloc(buffer_size, GFP_KERNEL); -@@ -1392,3 +1393,5 @@ MODULE_LICENSE("GPL"); +@@ -1391,3 +1393,5 @@ MODULE_LICENSE("GPL"); module_param(debug, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(debug, "Debug enabled or not");