@@ -418,7 +418,8 @@ void usbnet_cdc_status(struct usbnet *dev, struct urb *urb)
418418 case USB_CDC_NOTIFY_NETWORK_CONNECTION :
419419 netif_dbg (dev , timer , dev -> net , "CDC: carrier %s\n" ,
420420 event -> wValue ? "on" : "off" );
421- usbnet_link_change (dev , !!event -> wValue , 0 );
421+ if (netif_carrier_ok (dev -> net ) != !!event -> wValue )
422+ usbnet_link_change (dev , !!event -> wValue , 0 );
422423 break ;
423424 case USB_CDC_NOTIFY_SPEED_CHANGE : /* tx/rx rates */
424425 netif_dbg (dev , timer , dev -> net , "CDC: speed change (len %d)\n" ,
@@ -618,16 +619,37 @@ static const struct usb_device_id products[] = {
618619 .match_flags = USB_DEVICE_ID_MATCH_INT_INFO
619620 | USB_DEVICE_ID_MATCH_DEVICE ,
620621 .idVendor = 0x04DD ,
622+ .idProduct = 0x8005 , /* A-300 */
623+ ZAURUS_FAKE_INTERFACE ,
624+ .driver_info = 0 ,
625+ }, {
626+ .match_flags = USB_DEVICE_ID_MATCH_INT_INFO
627+ | USB_DEVICE_ID_MATCH_DEVICE ,
628+ .idVendor = 0x04DD ,
621629 .idProduct = 0x8006 , /* B-500/SL-5600 */
622630 ZAURUS_MASTER_INTERFACE ,
623631 .driver_info = 0 ,
632+ }, {
633+ .match_flags = USB_DEVICE_ID_MATCH_INT_INFO
634+ | USB_DEVICE_ID_MATCH_DEVICE ,
635+ .idVendor = 0x04DD ,
636+ .idProduct = 0x8006 , /* B-500/SL-5600 */
637+ ZAURUS_FAKE_INTERFACE ,
638+ .driver_info = 0 ,
624639}, {
625640 .match_flags = USB_DEVICE_ID_MATCH_INT_INFO
626641 | USB_DEVICE_ID_MATCH_DEVICE ,
627642 .idVendor = 0x04DD ,
628643 .idProduct = 0x8007 , /* C-700 */
629644 ZAURUS_MASTER_INTERFACE ,
630645 .driver_info = 0 ,
646+ }, {
647+ .match_flags = USB_DEVICE_ID_MATCH_INT_INFO
648+ | USB_DEVICE_ID_MATCH_DEVICE ,
649+ .idVendor = 0x04DD ,
650+ .idProduct = 0x8007 , /* C-700 */
651+ ZAURUS_FAKE_INTERFACE ,
652+ .driver_info = 0 ,
631653}, {
632654 .match_flags = USB_DEVICE_ID_MATCH_INT_INFO
633655 | USB_DEVICE_ID_MATCH_DEVICE ,
@@ -875,6 +897,12 @@ static const struct usb_device_id products[] = {
875897 USB_CDC_SUBCLASS_ETHERNET ,
876898 USB_CDC_PROTO_NONE ),
877899 .driver_info = (unsigned long )& wwan_info ,
900+ }, {
901+ /* U-blox LARA-R6 01B */
902+ USB_DEVICE_AND_INTERFACE_INFO (UBLOX_VENDOR_ID , 0x1313 , USB_CLASS_COMM ,
903+ USB_CDC_SUBCLASS_ETHERNET ,
904+ USB_CDC_PROTO_NONE ),
905+ .driver_info = (unsigned long )& wwan_info ,
878906}, {
879907 /* U-blox LARA-L6 */
880908 USB_DEVICE_AND_INTERFACE_INFO (UBLOX_VENDOR_ID , 0x1343 , USB_CLASS_COMM ,
0 commit comments