diff options
author | Janne Snabb <snabb@epipe.com> | 2011-12-28 14:36:00 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2012-01-04 18:52:42 -0500 |
commit | 3c8c9316710b83e906e425024153bf0929887b59 (patch) | |
tree | 2980c1288e7fd90b60f64499ef8f1a952e4bc597 /drivers/usb/serial/option.c | |
parent | 18b7ede5f7ee2092aedcb578d3ac30bd5d4fc23c (diff) |
usb: option: add ZD Incorporated HSPA modem
Add support for Chinese Noname HSPA USB modem which is apparently
manufactured by a company called ZD Incorporated (based on texts in the
Windows drivers).
This product is available at least from Dealextreme (SKU 80032) and
possibly in India with name Olive V-MW250. It is based on Qualcomm
MSM6280 chip.
I needed to also add "options usb-storage quirks=0685:7000:i" in modprobe
configuration because udevd or the kernel keeps poking the embedded
fake-cd-rom which fails and causes the device to reset. There might be
a better way to accomplish the same. usb_modeswitch is not needed with
this device.
Signed-off-by: Janne Snabb <snabb@epipe.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/option.c')
-rw-r--r-- | drivers/usb/serial/option.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index e3426602dc82..3745d149567c 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c | |||
@@ -476,6 +476,10 @@ static void option_instat_callback(struct urb *urb); | |||
476 | #define VIETTEL_VENDOR_ID 0x2262 | 476 | #define VIETTEL_VENDOR_ID 0x2262 |
477 | #define VIETTEL_PRODUCT_VT1000 0x0002 | 477 | #define VIETTEL_PRODUCT_VT1000 0x0002 |
478 | 478 | ||
479 | /* ZD Incorporated */ | ||
480 | #define ZD_VENDOR_ID 0x0685 | ||
481 | #define ZD_PRODUCT_7000 0x7000 | ||
482 | |||
479 | /* some devices interfaces need special handling due to a number of reasons */ | 483 | /* some devices interfaces need special handling due to a number of reasons */ |
480 | enum option_blacklist_reason { | 484 | enum option_blacklist_reason { |
481 | OPTION_BLACKLIST_NONE = 0, | 485 | OPTION_BLACKLIST_NONE = 0, |
@@ -1173,6 +1177,7 @@ static const struct usb_device_id option_ids[] = { | |||
1173 | { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU528) }, | 1177 | { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU528) }, |
1174 | { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU526) }, | 1178 | { USB_DEVICE(YUGA_VENDOR_ID, YUGA_PRODUCT_CLU526) }, |
1175 | { USB_DEVICE_AND_INTERFACE_INFO(VIETTEL_VENDOR_ID, VIETTEL_PRODUCT_VT1000, 0xff, 0xff, 0xff) }, | 1179 | { USB_DEVICE_AND_INTERFACE_INFO(VIETTEL_VENDOR_ID, VIETTEL_PRODUCT_VT1000, 0xff, 0xff, 0xff) }, |
1180 | { USB_DEVICE_AND_INTERFACE_INFO(ZD_VENDOR_ID, ZD_PRODUCT_7000, 0xff, 0xff, 0xff) }, | ||
1176 | { } /* Terminating entry */ | 1181 | { } /* Terminating entry */ |
1177 | }; | 1182 | }; |
1178 | MODULE_DEVICE_TABLE(usb, option_ids); | 1183 | MODULE_DEVICE_TABLE(usb, option_ids); |