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

* Re: [PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.26.5
  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  6:08 ` PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.27-rc7 fangxiaozhi 00110321
  1 sibling, 1 reply; 12+ messages in thread
From: Greg KH @ 2008-09-24  2:30 UTC (permalink / raw)
  To: fangxiaozhi 00110321
  Cc: linux-usb, linux-kernel, zihan, Lin.Lei, zhangqianchun

On Wed, Sep 24, 2008 at 10:07:31AM +0800, fangxiaozhi 00110321 wrote:
> 
> From: fangxiaozhi <huananhu@huawei.com>
> 
> 1. This patch is based on the kernel of 2.6.26.5

Can you rebase this on 2.6.27-rc7 instead?  Lots of device ids have been
added to this driver since 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.

This should be split up into 4 different patches, as it does 4 different
things.  Care to redo it please?

thanks,

greg k-h

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

* Re: [PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.26.5
  2008-09-24  2:30 ` Greg KH
@ 2008-09-24  3:02   ` Franko Fang
  2008-09-24  3:31     ` Greg KH
  0 siblings, 1 reply; 12+ messages in thread
From: Franko Fang @ 2008-09-24  3:02 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-usb, linux-kernel, zihan, Lin.Lei, zhangqianchun

Dear Greg KH,

 I am sorry, but I can only get the newest version from http://www.kernel.org/pub/linux/kernel/ is 2.6.26.5.

 Can you tell me the link to download 2.6.27-rc7 ?

  Thanks very much.

Best Regards,
Franko Fang
2008-9-24
----- Original Message ----- 
From: "Greg KH" <greg@kroah.com>
To: "fangxiaozhi 00110321" <huananhu@huawei.com>
Cc: <linux-usb@vger.kernel.org>; <linux-kernel@vger.kernel.org>; <zihan@huawei.com>; <Lin.Lei@huawei.com>; <zhangqianchun@huawei.com>
Sent: Wednesday, September 24, 2008 10:30 AM
Subject: Re: [PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.26.5


> On Wed, Sep 24, 2008 at 10:07:31AM +0800, fangxiaozhi 00110321 wrote:
>> 
>> From: fangxiaozhi <huananhu@huawei.com>
>> 
>> 1. This patch is based on the kernel of 2.6.26.5
> 
> Can you rebase this on 2.6.27-rc7 instead?  Lots of device ids have been
> added to this driver since 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.
> 
> This should be split up into 4 different patches, as it does 4 different
> things.  Care to redo it please?
> 
> thanks,
> 
> greg k-h

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

* Re: [PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.26.5
  2008-09-24  3:02   ` Franko Fang
@ 2008-09-24  3:31     ` Greg KH
  0 siblings, 0 replies; 12+ messages in thread
From: Greg KH @ 2008-09-24  3:31 UTC (permalink / raw)
  To: Franko Fang; +Cc: linux-usb, linux-kernel, zihan, Lin.Lei, zhangqianchun

On Wed, Sep 24, 2008 at 11:02:52AM +0800, Franko Fang wrote:
> Dear Greg KH,
> 
>  I am sorry, but I can only get the newest version from
>  http://www.kernel.org/pub/linux/kernel/ is 2.6.26.5.
> 
>  Can you tell me the link to download 2.6.27-rc7 ?

It is a patch against 2.6.26 and is at:
	http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.27-rc7.bz2

You can get the latest pre-patch always from the main page of kernel.org
in the line:
	The latest prepatch for the stable Linux kernel tree is:

I suggest either using git to pull the latest version from Linus's git
tree, or use the tool, ketchup, to install the latest version at all
times.

Hope this helps,

greg k-h

^ 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-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  6:08 ` fangxiaozhi 00110321
  2008-09-24 14:38   ` Alan Stern
  2008-09-24 15:03   ` Greg KH
  1 sibling, 2 replies; 12+ messages in thread
From: fangxiaozhi 00110321 @ 2008-09-24  6:08 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.27-rc7 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 -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

* Re: PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.27-rc7
  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
  1 sibling, 0 replies; 12+ messages in thread
From: Alan Stern @ 2008-09-24 14:38 UTC (permalink / raw)
  To: fangxiaozhi 00110321
  Cc: linux-usb, linux-kernel, zihan, Lin.Lei, zhangqianchun, greg

On Wed, 24 Sep 2008, fangxiaozhi 00110321 wrote:

>  From: fangxiaozhi <huananhu@huawei.com>
>  
>  1. This patch is based on the kernel of 2.6.27-rc7 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

Is this really a good idea?  Haven't a lot of people worked on that 
function and carefully made it do what they want?  If yes then your 
changes will break their systems.

Or have I confused it with a different initializer?


> --- 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);

What reason is there for setting us->iobuf[0] to 0, or passing
us->iobuf as an argument, if the length is 0?

> --- 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),		

Please use tabs for indentation, not spaces.

Alan Stern


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

* Re: PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.27-rc7
  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
  1 sibling, 1 reply; 12+ messages in thread
From: Greg KH @ 2008-09-24 15:03 UTC (permalink / raw)
  To: fangxiaozhi 00110321
  Cc: linux-usb, linux-kernel, zihan, Lin.Lei, zhangqianchun

On Wed, Sep 24, 2008 at 02:08:12PM +0800, fangxiaozhi 00110321 wrote:
> 
>  From: fangxiaozhi <huananhu@huawei.com>
>  
>  1. This patch is based on the kernel of 2.6.27-rc7 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.

I thought I asked you to split this up into 4 different patches?  Hm,
maybe three should be all that is needed, I thought your original one
did 4 different things.

And isn't your modification of the usb_stor_huawei_e220_init function
going to break the devices that it currently works for?  Or has it
always been wrong?

thanks,

greg k-h

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

* Re: PATCH 10/4]linux-usb: To support more Huawei data card productIDs, fix kernel 2.6.27-rc7
  2008-09-24 15:03   ` Greg KH
@ 2008-09-25  1:36     ` Franko Fang
  2008-09-25  2:10       ` Greg KH
  0 siblings, 1 reply; 12+ messages in thread
From: Franko Fang @ 2008-09-25  1:36 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-usb, linux-kernel, zihan, Lin.Lei, zhangqianchun

1. 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 I make them in one patch.

2. To change usb_stor_huawei_e220_init function as follows, that's because in 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.

    Hope that my interpreting can satify you.
-----------------------------
>> --- 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);
-------------------------------------------------------------------------

Franko Fang
2008-9-25



----- Original Message ----- 
From: "Greg KH" <greg@kroah.com>
To: "fangxiaozhi 00110321" <huananhu@huawei.com>
Cc: <linux-usb@vger.kernel.org>; <linux-kernel@vger.kernel.org>; <zihan@huawei.com>; <Lin.Lei@huawei.com>; <zhangqianchun@huawei.com>
Sent: Wednesday, September 24, 2008 11:03 PM
Subject: Re: PATCH 10/4]linux-usb: To support more Huawei data card productIDs, fix kernel 2.6.27-rc7


> On Wed, Sep 24, 2008 at 02:08:12PM +0800, fangxiaozhi 00110321 wrote:
>> 
>>  From: fangxiaozhi <huananhu@huawei.com>
>>  
>>  1. This patch is based on the kernel of 2.6.27-rc7 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.
> 
> I thought I asked you to split this up into 4 different patches?  Hm,
> maybe three should be all that is needed, I thought your original one
> did 4 different things.
> 
> And isn't your modification of the usb_stor_huawei_e220_init function
> going to break the devices that it currently works for?  Or has it
> always been wrong?
> 
> thanks,
> 
> greg k-h

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

* Re: PATCH 10/4]linux-usb: To support more Huawei data card productIDs, fix kernel 2.6.27-rc7
  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
  0 siblings, 0 replies; 12+ messages in thread
From: Greg KH @ 2008-09-25  2:10 UTC (permalink / raw)
  To: Franko Fang; +Cc: linux-usb, linux-kernel, zihan, Lin.Lei, zhangqianchun

On Thu, Sep 25, 2008 at 09:36:29AM +0800, Franko Fang wrote:
> 1. 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 I make them in one patch.
> 
> 2. To change usb_stor_huawei_e220_init function as follows, that's because in 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.
> 
>     Hope that my interpreting can satify you.

Ok, that sounds reasonable.  How about resending the patch, and adding
this information to the changelog area so that others also understand
what is going on here.

thanks,

greg k-h

^ 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

* Re: PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.27-rc7
  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
  1 sibling, 0 replies; 12+ messages in thread
From: Greg KH @ 2008-10-08  3:21 UTC (permalink / raw)
  To: fangxiaozhi 00110321; +Cc: linux-usb, linux-kernel, zihan, zhangqianchun

On Wed, Oct 08, 2008 at 09:31:35AM +0800, fangxiaozhi 00110321 wrote:
>   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

Hm, all of the tabs seem to have been converted to spaces in this patch,
and it does not apply at all.

Care to fix your email client settings and try again?

thanks,

greg k-h

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

* Re: PATCH 10/4]linux-usb: To support more Huawei data card product IDs, fix kernel 2.6.27-rc7
  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
  1 sibling, 0 replies; 12+ messages in thread
From: Alan Stern @ 2008-10-08 14:07 UTC (permalink / raw)
  To: fangxiaozhi 00110321; +Cc: linux-usb, linux-kernel, zihan, zhangqianchun, greg

On Wed, 8 Oct 2008, fangxiaozhi 00110321 wrote:

> --- 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);

If you insist on doing this, you should at least do it right.

Take out entirely the line that sets usb->iobuf[0], and replace
us->iobuf in the line above with NULL.  You can also replace your
foolish-looking 0x0 with a plain simple 0 -- after all, 0 is 0 whether
in base 10 or base 16.

Alan Stern


^ 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