@@ -967,6 +967,7 @@ static const struct usb_device_id option_ids[] = {
967
967
{ USB_VENDOR_AND_INTERFACE_INFO (HUAWEI_VENDOR_ID , 0xff , 0x06 , 0x7A ) },
968
968
{ USB_VENDOR_AND_INTERFACE_INFO (HUAWEI_VENDOR_ID , 0xff , 0x06 , 0x7B ) },
969
969
{ USB_VENDOR_AND_INTERFACE_INFO (HUAWEI_VENDOR_ID , 0xff , 0x06 , 0x7C ) },
970
+ { USB_VENDOR_AND_INTERFACE_INFO (HUAWEI_VENDOR_ID , 0xff , 0x06 , 0x7D ) },
970
971
971
972
/* Motorola devices */
972
973
{ USB_DEVICE_AND_INTERFACE_INFO (0x22b8 , 0x2a70 , 0xff , 0xff , 0xff ) }, /* mdm6600 */
@@ -1913,6 +1914,7 @@ static const struct usb_device_id option_ids[] = {
1913
1914
{ USB_DEVICE (YUGA_VENDOR_ID , YUGA_PRODUCT_CWU581 ) },
1914
1915
{ USB_DEVICE (YUGA_VENDOR_ID , YUGA_PRODUCT_CWU582 ) },
1915
1916
{ USB_DEVICE (YUGA_VENDOR_ID , YUGA_PRODUCT_CWU583 ) },
1917
+ { USB_DEVICE (0x12d1 , 0x15c1 ) },
1916
1918
{ USB_DEVICE_AND_INTERFACE_INFO (VIETTEL_VENDOR_ID , VIETTEL_PRODUCT_VT1000 , 0xff , 0xff , 0xff ) },
1917
1919
{ USB_DEVICE_AND_INTERFACE_INFO (ZD_VENDOR_ID , ZD_PRODUCT_7000 , 0xff , 0xff , 0xff ) },
1918
1920
{ USB_DEVICE (LG_VENDOR_ID , LG_PRODUCT_L02C ) }, /* docomo L-02C modem */
@@ -2080,6 +2082,12 @@ static int option_attach(struct usb_serial *serial)
2080
2082
struct usb_wwan_intf_private * data ;
2081
2083
unsigned long device_flags ;
2082
2084
2085
+ if (serial -> dev -> descriptor .idVendor == HUAWEI_VENDOR_ID ) {
2086
+ if ( 0 != (serial -> dev -> config -> desc .bmAttributes & 0x20 )){
2087
+ usb_enable_autosuspend (serial -> dev );
2088
+ }
2089
+ }
2090
+
2083
2091
data = kzalloc (sizeof (struct usb_wwan_intf_private ), GFP_KERNEL );
2084
2092
if (!data )
2085
2093
return - ENOMEM ;
0 commit comments