USB: option.c: OLIVETTI OLICARD100 support
authorNils Radtke <lkml@Think-Future.de>
Mon, 17 May 2010 12:14:11 +0000 (14:14 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 20 May 2010 20:21:47 +0000 (13:21 -0700)
This patch adds support for an olivetti olicard100 HЅDPA usb-stick.

This device is a zeroCD one with ID 0b3c:c700 that needs switching via
eject or usb-modeswitch with
MessageContent="5553424312345678000000000000061b000000030000000000000000000000".
After switching it has ID 0b3c:c000 and provides 5 serial ports ttyUSB[0-4].
Port 0 (modem) and 4 are interrupt ports.

Signed-off-by: Nils Radtke <lkml@Think-Future.de>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/option.c

index 030f65a27fc0584870850329563263cfd915efe0..e280ad8e12f75898850eb03659d513ce1d1dee7b 100644 (file)
@@ -359,6 +359,10 @@ static void option_instat_callback(struct urb *urb);
 
 #define CINTERION_VENDOR_ID                    0x0681
 
+/* Olivetti products */
+#define OLIVETTI_VENDOR_ID                     0x0b3c
+#define OLIVETTI_PRODUCT_OLICARD100            0xc000
+
 /* some devices interfaces need special handling due to a number of reasons */
 enum option_blacklist_reason {
                OPTION_BLACKLIST_NONE = 0,
@@ -879,6 +883,8 @@ static const struct usb_device_id option_ids[] = {
        { USB_DEVICE(PIRELLI_VENDOR_ID, PIRELLI_PRODUCT_1012)},
 
        { USB_DEVICE(CINTERION_VENDOR_ID, 0x0047) },
+
+       { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100) },
        { } /* Terminating entry */
 };
 MODULE_DEVICE_TABLE(usb, option_ids);