public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.26.5
@ 2008-09-24  2:07 fangxiaozhi 00110321
  2008-09-24  2:30 ` Greg KH
  2008-09-24  6:08 ` PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.27-rc7 fangxiaozhi 00110321
  0 siblings, 2 replies; 12+ messages in thread
From: fangxiaozhi 00110321 @ 2008-09-24  2:07 UTC (permalink / raw)
  To: linux-usb; +Cc: linux-kernel, zihan, Lin.Lei, zhangqianchun, greg


From: fangxiaozhi <huananhu@huawei.com>

1. This patch is based on the kernel of 2.6.26.5
2. To declare the unusual device for new Huawei data card devices in unusual_devs.h
3. To modify the data value and length in the function of usb_stor_huawei_e220_init in initializers.c
4. To declare more new product IDs in option.c.

Signed-off-by: fangxiaozhi <huananhu@huawei.com>
---------------------------------------------------------------------------------
 
diff -urN -X linux-2.6.26.5/Documentation/dontdiff linux-2.6.26.5/drivers/usb/serial/option.c linux-2.6.26.5-vanilla/drivers/usb/serial/option.c
--- linux-2.6.26.5/drivers/usb/serial/option.c	2008-09-09 01:40:20.000000000 +0800
+++ linux-2.6.26.5-vanilla/drivers/usb/serial/option.c	2008-09-24 04:26:24.000000000 +0800
@@ -110,11 +110,20 @@
 #define HUAWEI_PRODUCT_E220			0x1003
 #define HUAWEI_PRODUCT_E220BIS			0x1004
 #define HUAWEI_PRODUCT_E1401			0x1401
+#define HUAWEI_PRODUCT_E1402			0x1402
 #define HUAWEI_PRODUCT_E1403			0x1403
+#define HUAWEI_PRODUCT_E1404			0x1404
 #define HUAWEI_PRODUCT_E1405			0x1405
 #define HUAWEI_PRODUCT_E1406			0x1406
+#define HUAWEI_PRODUCT_E1407			0x1407
 #define HUAWEI_PRODUCT_E1408			0x1408
 #define HUAWEI_PRODUCT_E1409			0x1409
+#define HUAWEI_PRODUCT_E140A			0x140A
+#define HUAWEI_PRODUCT_E140B			0x140B
+#define HUAWEI_PRODUCT_E140C			0x140C
+#define HUAWEI_PRODUCT_E140D			0x140D
+#define HUAWEI_PRODUCT_E140E			0x140E
+#define HUAWEI_PRODUCT_E140F			0x140F
 #define HUAWEI_PRODUCT_E1410			0x1410
 #define HUAWEI_PRODUCT_E1411			0x1411
 #define HUAWEI_PRODUCT_E1412			0x1412
@@ -125,6 +134,44 @@
 #define HUAWEI_PRODUCT_E1417			0x1417
 #define HUAWEI_PRODUCT_E1418			0x1418
 #define HUAWEI_PRODUCT_E1419			0x1419
+#define HUAWEI_PRODUCT_E141A			0x141A
+#define HUAWEI_PRODUCT_E141B			0x141B
+#define HUAWEI_PRODUCT_E141C			0x141C
+#define HUAWEI_PRODUCT_E141D			0x141D
+#define HUAWEI_PRODUCT_E141E			0x141E
+#define HUAWEI_PRODUCT_E141F			0x141F
+#define HUAWEI_PRODUCT_E1420			0x1420
+#define HUAWEI_PRODUCT_E1421			0x1421
+#define HUAWEI_PRODUCT_E1422			0x1422
+#define HUAWEI_PRODUCT_E1423			0x1423
+#define HUAWEI_PRODUCT_E1424			0x1424
+#define HUAWEI_PRODUCT_E1425			0x1425
+#define HUAWEI_PRODUCT_E1426			0x1426
+#define HUAWEI_PRODUCT_E1427			0x1427
+#define HUAWEI_PRODUCT_E1428			0x1428
+#define HUAWEI_PRODUCT_E1429			0x1429
+#define HUAWEI_PRODUCT_E142A			0x142A
+#define HUAWEI_PRODUCT_E142B			0x142B
+#define HUAWEI_PRODUCT_E142C			0x142C
+#define HUAWEI_PRODUCT_E142D			0x142D
+#define HUAWEI_PRODUCT_E142E			0x142E
+#define HUAWEI_PRODUCT_E142F			0x142F
+#define HUAWEI_PRODUCT_E1430			0x1430
+#define HUAWEI_PRODUCT_E1431			0x1431
+#define HUAWEI_PRODUCT_E1432			0x1432
+#define HUAWEI_PRODUCT_E1433			0x1433
+#define HUAWEI_PRODUCT_E1434			0x1434
+#define HUAWEI_PRODUCT_E1435			0x1435
+#define HUAWEI_PRODUCT_E1436			0x1436
+#define HUAWEI_PRODUCT_E1437			0x1437
+#define HUAWEI_PRODUCT_E1438			0x1438
+#define HUAWEI_PRODUCT_E1439			0x1439
+#define HUAWEI_PRODUCT_E143A			0x143A
+#define HUAWEI_PRODUCT_E143B			0x143B
+#define HUAWEI_PRODUCT_E143C			0x143C
+#define HUAWEI_PRODUCT_E143D			0x143D
+#define HUAWEI_PRODUCT_E143E			0x143E
+#define HUAWEI_PRODUCT_E143F			0x143F
 
 #define NOVATELWIRELESS_VENDOR_ID		0x1410
 
@@ -240,11 +287,20 @@
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220BIS, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1401, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1402, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1403, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1404, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1405, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1406, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1407, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1408, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1409, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140A, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140B, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140C, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140D, 0xff, 0xff, 0xff) }, 
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140E, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140F, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1410, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1411, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1412, 0xff, 0xff, 0xff) },
@@ -255,6 +311,44 @@
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1417, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1418, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1419, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141A, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141B, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141C, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141D, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141E, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141F, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1420, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1421, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1422, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1423, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1424, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1425, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1426, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1427, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1428, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1429, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142A, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142B, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142C, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142D, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142E, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142F, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1430, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1431, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1432, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1433, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1434, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1435, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1436, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1437, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1438, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1439, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143A, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143B, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143C, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143D, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143E, 0xff, 0xff, 0xff) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143F, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_9508) },
 	{ USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V640) }, /* Novatel Merlin V640/XV620 */
 	{ USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V620) }, /* Novatel Merlin V620/S620 */
diff -urN -X linux-2.6.26.5/Documentation/dontdiff linux-2.6.26.5/drivers/usb/storage/initializers.c linux-2.6.26.5-vanilla/drivers/usb/storage/initializers.c
--- linux-2.6.26.5/drivers/usb/storage/initializers.c	2008-09-09 01:40:20.000000000 +0800
+++ linux-2.6.26.5-vanilla/drivers/usb/storage/initializers.c	2008-09-24 04:18:29.000000000 +0800
@@ -97,11 +97,11 @@
 {
 	int result;
 
-	us->iobuf[0] = 0x1;
+	us->iobuf[0] = 0x0;
 	result = usb_stor_control_msg(us, us->send_ctrl_pipe,
 				      USB_REQ_SET_FEATURE,
 				      USB_TYPE_STANDARD | USB_RECIP_DEVICE,
-				      0x01, 0x0, us->iobuf, 0x1, 1000);
+				      0x01, 0x0, us->iobuf, 0x0, 1000);
 	US_DEBUGP("usb_control_msg performing result is %d\n", result);
 	return (result ? 0 : -1);
 }
diff -urN -X linux-2.6.26.5/Documentation/dontdiff linux-2.6.26.5/drivers/usb/storage/unusual_devs.h linux-2.6.26.5-vanilla/drivers/usb/storage/unusual_devs.h
--- linux-2.6.26.5/drivers/usb/storage/unusual_devs.h	2008-09-09 01:40:20.000000000 +0800
+++ linux-2.6.26.5-vanilla/drivers/usb/storage/unusual_devs.h	2008-09-24 04:18:29.000000000 +0800
@@ -1604,11 +1604,21 @@
 		"Mass Storage",
 		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
 		0),
+UNUSUAL_DEV( 0x12d1, 0x1402, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
 UNUSUAL_DEV( 0x12d1, 0x1403, 0x0000, 0x0000,
 		"HUAWEI MOBILE",
 		"Mass Storage",
 		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
 		0),
+UNUSUAL_DEV( 0x12d1, 0x1404, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),                
 UNUSUAL_DEV( 0x12d1, 0x1405, 0x0000, 0x0000,
 		"HUAWEI MOBILE",
 		"Mass Storage",
@@ -1619,6 +1629,11 @@
 		"Mass Storage",
 		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
 		0),
+UNUSUAL_DEV( 0x12d1, 0x1407, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),                
 UNUSUAL_DEV( 0x12d1, 0x1408, 0x0000, 0x0000,
 		"HUAWEI MOBILE",
 		"Mass Storage",
@@ -1629,6 +1644,36 @@
 		"Mass Storage",
 		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
 		0),
+UNUSUAL_DEV( 0x12d1, 0x140A, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),  
+UNUSUAL_DEV( 0x12d1, 0x140B, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0), 
+UNUSUAL_DEV( 0x12d1, 0x140C, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),  
+UNUSUAL_DEV( 0x12d1, 0x140D, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0), 
+UNUSUAL_DEV( 0x12d1, 0x140E, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0), 
+UNUSUAL_DEV( 0x12d1, 0x140F, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),                                                                                         
 UNUSUAL_DEV( 0x12d1, 0x1410, 0x0000, 0x0000,
 		"HUAWEI MOBILE",
 		"Mass Storage",
@@ -1675,10 +1720,200 @@
 		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
 		0),
 UNUSUAL_DEV( 0x12d1, 0x1419, 0x0000, 0x0000,
-		"HUAWEI MOBILE",
+                "HUAWEI MOBILE",
 		"Mass Storage",
 		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
-		0),
+                0),
+UNUSUAL_DEV( 0x12d1, 0x141A, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x141B, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x141C, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x141D, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x141E, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x141F, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1420, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1421, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1422, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x1423, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1424, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1425, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1426, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x1427, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1428, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1429, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x142A, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x142B, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x142C, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x142D, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x142E, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x142F, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1430, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x1431, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1432, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1433, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1434, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x1435, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1436, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1437, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1438, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x1439, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x143A, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x143B, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x143C, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x143D, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x143E, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x143F, 0x0000, 0x0000,
+               "HUAWEI MOBILE",
+		"Mass Storage",
+		US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
 
 /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */
 UNUSUAL_DEV(  0x132b, 0x000b, 0x0001, 0x0001,


******************************************************************************************
 This email and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained here in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email
 immediately and delete it!
 *****************************************************************************************

^ permalink raw reply	[flat|nested] 12+ messages in thread
* PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.27-rc7
@ 2008-10-08  1:31 fangxiaozhi 00110321
  2008-10-08  3:21 ` Greg KH
  2008-10-08 14:07 ` Alan Stern
  0 siblings, 2 replies; 12+ messages in thread
From: fangxiaozhi 00110321 @ 2008-10-08  1:31 UTC (permalink / raw)
  To: linux-usb; +Cc: linux-kernel, zihan, zhangqianchun, greg

  From: fangxiaozhi <huananhu@huawei.com>
 
 1. This patch is based on the kernel of 2.6.27-rc7 
 2. In this patch, we want to do one thing: add more Huawei product IDs into the USB driver. Then it can support  more Huawei data card devices. So to declare the unusual device for new Huawei data card devices 
 in unusual_devs.h and to declare more new product IDs in option.c.
 3. To modify the data value and length in the function of 
 usb_stor_huawei_e220_init in initializers.c
   That's because based on the USB standard, while sending SET_FETURE_D to the device, it requires the corresponding data to be zero, and its sending length also must be zero.
   In our old solution, it can be compatible with our WCDMA data card devices, but can not support our CDMA data card devices. 
    But in this new solution, it can be compatible with all of our data card devices.

 Signed-off-by: fangxiaozhi <huananhu@huawei.com>
 -------------------------------------------------------------------

diff -uprN -X linux-2.6.27-rc7-orig/Documentation/dontdiff linux-2.6.27-rc7-orig/drivers/usb/serial/option.c linux-2.6.27-rc7/drivers/usb/serial/option.c
--- linux-2.6.27-rc7-orig/drivers/usb/serial/option.c 2008-09-22 06:29:55.000000000 +0800
+++ linux-2.6.27-rc7/drivers/usb/serial/option.c 2008-09-24 12:00:14.000000000 +0800
@@ -106,11 +106,20 @@ static int  option_send_setup(struct tty
 #define HUAWEI_PRODUCT_E220                 0x1003
 #define HUAWEI_PRODUCT_E220BIS                 0x1004
 #define HUAWEI_PRODUCT_E1401                 0x1401
+#define HUAWEI_PRODUCT_E1402                 0x1402
 #define HUAWEI_PRODUCT_E1403                 0x1403
+#define HUAWEI_PRODUCT_E1404                 0x1404
 #define HUAWEI_PRODUCT_E1405                 0x1405
 #define HUAWEI_PRODUCT_E1406                 0x1406
+#define HUAWEI_PRODUCT_E1407                 0x1407
 #define HUAWEI_PRODUCT_E1408                 0x1408
 #define HUAWEI_PRODUCT_E1409                 0x1409
+#define HUAWEI_PRODUCT_E140A                 0x140A
+#define HUAWEI_PRODUCT_E140B                 0x140B
+#define HUAWEI_PRODUCT_E140C                 0x140C
+#define HUAWEI_PRODUCT_E140D                 0x140D
+#define HUAWEI_PRODUCT_E140E                 0x140E
+#define HUAWEI_PRODUCT_E140F                 0x140F
 #define HUAWEI_PRODUCT_E1410                 0x1410
 #define HUAWEI_PRODUCT_E1411                 0x1411
 #define HUAWEI_PRODUCT_E1412                 0x1412
@@ -121,6 +130,44 @@ static int  option_send_setup(struct tty
 #define HUAWEI_PRODUCT_E1417                 0x1417
 #define HUAWEI_PRODUCT_E1418                 0x1418
 #define HUAWEI_PRODUCT_E1419                 0x1419
+#define HUAWEI_PRODUCT_E141A                 0x141A
+#define HUAWEI_PRODUCT_E141B                 0x141B
+#define HUAWEI_PRODUCT_E141C                 0x141C
+#define HUAWEI_PRODUCT_E141D                 0x141D
+#define HUAWEI_PRODUCT_E141E                 0x141E
+#define HUAWEI_PRODUCT_E141F                 0x141F
+#define HUAWEI_PRODUCT_E1420                 0x1420
+#define HUAWEI_PRODUCT_E1421                 0x1421
+#define HUAWEI_PRODUCT_E1422                 0x1422
+#define HUAWEI_PRODUCT_E1423                 0x1423
+#define HUAWEI_PRODUCT_E1424                 0x1424
+#define HUAWEI_PRODUCT_E1425                 0x1425
+#define HUAWEI_PRODUCT_E1426                 0x1426
+#define HUAWEI_PRODUCT_E1427                 0x1427
+#define HUAWEI_PRODUCT_E1428                 0x1428
+#define HUAWEI_PRODUCT_E1429                 0x1429
+#define HUAWEI_PRODUCT_E142A                 0x142A
+#define HUAWEI_PRODUCT_E142B                 0x142B
+#define HUAWEI_PRODUCT_E142C                 0x142C
+#define HUAWEI_PRODUCT_E142D                 0x142D
+#define HUAWEI_PRODUCT_E142E                 0x142E
+#define HUAWEI_PRODUCT_E142F                 0x142F
+#define HUAWEI_PRODUCT_E1430                 0x1430
+#define HUAWEI_PRODUCT_E1431                 0x1431
+#define HUAWEI_PRODUCT_E1432                 0x1432
+#define HUAWEI_PRODUCT_E1433                 0x1433
+#define HUAWEI_PRODUCT_E1434                 0x1434
+#define HUAWEI_PRODUCT_E1435                 0x1435
+#define HUAWEI_PRODUCT_E1436                 0x1436
+#define HUAWEI_PRODUCT_E1437                 0x1437
+#define HUAWEI_PRODUCT_E1438                 0x1438
+#define HUAWEI_PRODUCT_E1439                 0x1439
+#define HUAWEI_PRODUCT_E143A                 0x143A
+#define HUAWEI_PRODUCT_E143B                 0x143B
+#define HUAWEI_PRODUCT_E143C                 0x143C
+#define HUAWEI_PRODUCT_E143D                 0x143D
+#define HUAWEI_PRODUCT_E143E                 0x143E
+#define HUAWEI_PRODUCT_E143F                 0x143F
 
 #define NOVATELWIRELESS_VENDOR_ID         0x1410
 
@@ -259,11 +306,20 @@ static struct usb_device_id option_ids[]
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220BIS, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1401, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1402, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1403, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1404, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1405, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1406, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1407, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1408, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1409, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140A, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140B, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140C, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140D, 0xff, 0xff, 0xff) }, 
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140E, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E140F, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1410, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1411, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1412, 0xff, 0xff, 0xff) },
@@ -274,6 +330,44 @@ static struct usb_device_id option_ids[]
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1417, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1418, 0xff, 0xff, 0xff) },
  { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1419, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141A, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141B, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141C, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141D, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141E, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E141F, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1420, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1421, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1422, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1423, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1424, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1425, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1426, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1427, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1428, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1429, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142A, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142B, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142C, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142D, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142E, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E142F, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1430, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1431, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1432, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1433, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1434, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1435, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1436, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1437, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1438, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E1439, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143A, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143B, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143C, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143D, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143E, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E143F, 0xff, 0xff, 0xff) },
  { USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_9508) },
  { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V640) }, /* Novatel Merlin V640/XV620 */
  { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_V620) }, /* Novatel Merlin V620/S620 */
diff -uprN -X linux-2.6.27-rc7-orig/Documentation/dontdiff linux-2.6.27-rc7-orig/drivers/usb/storage/initializers.c linux-2.6.27-rc7/drivers/usb/storage/initializers.c
--- linux-2.6.27-rc7-orig/drivers/usb/storage/initializers.c 2008-09-22 06:29:55.000000000 +0800
+++ linux-2.6.27-rc7/drivers/usb/storage/initializers.c 2008-09-24 12:04:40.000000000 +0800
@@ -95,11 +95,11 @@ int usb_stor_huawei_e220_init(struct us_
 {
  int result;
 
- us->iobuf[0] = 0x1;
+ us->iobuf[0] = 0x0;
  result = usb_stor_control_msg(us, us->send_ctrl_pipe,
                                       USB_REQ_SET_FEATURE,
                                       USB_TYPE_STANDARD | USB_RECIP_DEVICE,
-                                      0x01, 0x0, us->iobuf, 0x1, 1000);
+                                      0x01, 0x0, us->iobuf, 0x0, 1000);
  US_DEBUGP("usb_control_msg performing result is %d\n", result);
  return (result ? 0 : -1);
 }
diff -uprN -X linux-2.6.27-rc7-orig/Documentation/dontdiff linux-2.6.27-rc7-orig/drivers/usb/storage/unusual_devs.h linux-2.6.27-rc7/drivers/usb/storage/unusual_devs.h
--- linux-2.6.27-rc7-orig/drivers/usb/storage/unusual_devs.h 2008-09-22 06:29:55.000000000 +0800
+++ linux-2.6.27-rc7/drivers/usb/storage/unusual_devs.h 2008-09-24 12:08:58.000000000 +0800
@@ -1622,11 +1622,21 @@ UNUSUAL_DEV( 0x12d1, 0x1401, 0x0000, 0x0
          "Mass Storage",
          US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
          0),
+UNUSUAL_DEV( 0x12d1, 0x1402, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),         
 UNUSUAL_DEV( 0x12d1, 0x1403, 0x0000, 0x0000,
          "HUAWEI MOBILE",
          "Mass Storage",
          US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
          0),
+UNUSUAL_DEV( 0x12d1, 0x1404, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
 UNUSUAL_DEV( 0x12d1, 0x1405, 0x0000, 0x0000,
          "HUAWEI MOBILE",
          "Mass Storage",
@@ -1637,6 +1647,11 @@ UNUSUAL_DEV( 0x12d1, 0x1406, 0x0000, 0x0
          "Mass Storage",
          US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
          0),
+UNUSUAL_DEV( 0x12d1, 0x1407, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
 UNUSUAL_DEV( 0x12d1, 0x1408, 0x0000, 0x0000,
          "HUAWEI MOBILE",
          "Mass Storage",
@@ -1647,6 +1662,36 @@ UNUSUAL_DEV( 0x12d1, 0x1409, 0x0000, 0x0
          "Mass Storage",
          US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
          0),
+UNUSUAL_DEV( 0x12d1, 0x140A, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),  
+UNUSUAL_DEV( 0x12d1, 0x140B, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0), 
+UNUSUAL_DEV( 0x12d1, 0x140C, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),  
+UNUSUAL_DEV( 0x12d1, 0x140D, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0), 
+UNUSUAL_DEV( 0x12d1, 0x140E, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0), 
+UNUSUAL_DEV( 0x12d1, 0x140F, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
 UNUSUAL_DEV( 0x12d1, 0x1410, 0x0000, 0x0000,
          "HUAWEI MOBILE",
          "Mass Storage",
@@ -1697,6 +1742,196 @@ UNUSUAL_DEV( 0x12d1, 0x1419, 0x0000, 0x0
          "Mass Storage",
          US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
          0),
+UNUSUAL_DEV( 0x12d1, 0x141A, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x141B, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x141C, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x141D, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x141E, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x141F, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1420, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1421, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1422, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x1423, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1424, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1425, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1426, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x1427, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1428, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1429, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x142A, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x142B, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x142C, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x142D, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x142E, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x142F, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1430, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x1431, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1432, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1433, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1434, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x1435, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1436, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1437, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x1438, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x1439, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x143A, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x143B, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x143C, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x143D, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+ UNUSUAL_DEV( 0x12d1, 0x143E, 0x0000, 0x0000,
+                "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
+UNUSUAL_DEV( 0x12d1, 0x143F, 0x0000, 0x0000,
+               "HUAWEI MOBILE",
+         "Mass Storage",
+         US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init,
+                0),
 
 /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */
 UNUSUAL_DEV(  0x132b, 0x000b, 0x0001, 0x0001,


******************************************************************************************
 This email and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained here in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email
 immediately and delete it!
 *****************************************************************************************

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2008-10-08 14:07 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-24  2:07 [PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.26.5 fangxiaozhi 00110321
2008-09-24  2:30 ` Greg KH
2008-09-24  3:02   ` Franko Fang
2008-09-24  3:31     ` Greg KH
2008-09-24  6:08 ` PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.27-rc7 fangxiaozhi 00110321
2008-09-24 14:38   ` Alan Stern
2008-09-24 15:03   ` Greg KH
2008-09-25  1:36     ` PATCH 10/4]linux-usb: To support more Huawei data card productIDs, " Franko Fang
2008-09-25  2:10       ` Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2008-10-08  1:31 PATCH 10/4]linux-usb: To support more Huawei data card product IDs, " fangxiaozhi 00110321
2008-10-08  3:21 ` Greg KH
2008-10-08 14:07 ` Alan Stern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox