diff options
author | Marius B. Kotsbak <marius@kotsbak.com> | 2011-03-21 18:27:21 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-04-29 20:05:06 -0400 |
commit | 15b2f3204a5c878c32939094775fb7349f707263 (patch) | |
tree | 2d10528af15993b74ce74e53e8757895bb043619 | |
parent | d771d8aa37805f5bf75808b12b737f39ee97f5d4 (diff) |
Bind only modem AT command endpoint to option module.
Network interface is handled by upcoming gt_b3730 module.
Removed "GT-B3710" from comment, it is another modem with another USB ID.
Signed-off-by: Marius B. Kotsbak <marius@kotsbak.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/usb/serial/option.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index d77ff0435896..4001f7630a54 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c | |||
@@ -972,7 +972,7 @@ static const struct usb_device_id option_ids[] = { | |||
972 | { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100) }, | 972 | { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100) }, |
973 | { USB_DEVICE(CELOT_VENDOR_ID, CELOT_PRODUCT_CT680M) }, /* CT-650 CDMA 450 1xEVDO modem */ | 973 | { USB_DEVICE(CELOT_VENDOR_ID, CELOT_PRODUCT_CT680M) }, /* CT-650 CDMA 450 1xEVDO modem */ |
974 | { USB_DEVICE(ONDA_VENDOR_ID, ONDA_MT825UP) }, /* ONDA MT825UP modem */ | 974 | { USB_DEVICE(ONDA_VENDOR_ID, ONDA_MT825UP) }, /* ONDA MT825UP modem */ |
975 | { USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, SAMSUNG_PRODUCT_GT_B3730, USB_CLASS_CDC_DATA, 0x00, 0x00) }, /* Samsung GT-B3730/GT-B3710 LTE USB modem.*/ | 975 | { USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, SAMSUNG_PRODUCT_GT_B3730, USB_CLASS_CDC_DATA, 0x00, 0x00) }, /* Samsung GT-B3730 LTE USB modem.*/ |
976 | { } /* Terminating entry */ | 976 | { } /* Terminating entry */ |
977 | }; | 977 | }; |
978 | MODULE_DEVICE_TABLE(usb, option_ids); | 978 | MODULE_DEVICE_TABLE(usb, option_ids); |
@@ -1109,6 +1109,12 @@ static int option_probe(struct usb_serial *serial, | |||
1109 | serial->interface->cur_altsetting->desc.bInterfaceNumber == 1) | 1109 | serial->interface->cur_altsetting->desc.bInterfaceNumber == 1) |
1110 | return -ENODEV; | 1110 | return -ENODEV; |
1111 | 1111 | ||
1112 | /* Don't bind network interface on Samsung GT-B3730, it is handled by a separate module */ | ||
1113 | if (serial->dev->descriptor.idVendor == SAMSUNG_VENDOR_ID && | ||
1114 | serial->dev->descriptor.idProduct == SAMSUNG_PRODUCT_GT_B3730 && | ||
1115 | serial->interface->cur_altsetting->desc.bInterfaceClass != USB_CLASS_CDC_DATA) | ||
1116 | return -ENODEV; | ||
1117 | |||
1112 | data = serial->private = kzalloc(sizeof(struct usb_wwan_intf_private), GFP_KERNEL); | 1118 | data = serial->private = kzalloc(sizeof(struct usb_wwan_intf_private), GFP_KERNEL); |
1113 | 1119 | ||
1114 | if (!data) | 1120 | if (!data) |