summaryrefslogtreecommitdiffstats
path: root/linux-2.6-usb-wwan-update.patch
diff options
context:
space:
mode:
Diffstat (limited to 'linux-2.6-usb-wwan-update.patch')
-rw-r--r--linux-2.6-usb-wwan-update.patch9
1 files changed, 8 insertions, 1 deletions
diff --git a/linux-2.6-usb-wwan-update.patch b/linux-2.6-usb-wwan-update.patch
index d6ab3d3..1077e5b 100644
--- a/linux-2.6-usb-wwan-update.patch
+++ b/linux-2.6-usb-wwan-update.patch
@@ -116,7 +116,7 @@ diff -up linux-2.6.32.noarch/drivers/usb/serial/option.c.orig linux-2.6.32.noarc
struct option_port_private {
/* Input endpoints and buffer for this port */
struct urb *in_urbs[N_IN_URB];
-@@ -767,216 +740,28 @@ module_exit(option_exit);
+@@ -767,223 +740,35 @@ module_exit(option_exit);
static int option_probe(struct usb_serial *serial,
const struct usb_device_id *id)
{
@@ -135,6 +135,13 @@ diff -up linux-2.6.32.noarch/drivers/usb/serial/option.c.orig linux-2.6.32.noarc
serial->interface->cur_altsetting->desc.bInterfaceClass != 0xff)
return -ENODEV;
+ /* Don't bind network interfaces on Huawei K3765 & K4505 */
+ if (serial->dev->descriptor.idVendor == HUAWEI_VENDOR_ID &&
+ (serial->dev->descriptor.idProduct == HUAWEI_PRODUCT_K3765 ||
+ serial->dev->descriptor.idProduct == HUAWEI_PRODUCT_K4505) &&
+ serial->interface->cur_altsetting->desc.bInterfaceNumber == 1)
+ return -ENODEV;
+
- data = serial->private = kzalloc(sizeof(struct option_intf_private), GFP_KERNEL);
+ data = serial->private = kzalloc(sizeof(struct usb_wwan_intf_private), GFP_KERNEL);
if (!data)