diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2009-12-03 02:38:13 -0500 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2009-12-03 02:38:13 -0500 |
| commit | 467832032cc07626880363efa8625719c16c04eb (patch) | |
| tree | ee9a62c04f0b3106e412bc1b2dd1cea5566d5ca7 /drivers/net/usb | |
| parent | 66d2a5952eab875f1286e04f738ef029afdaf013 (diff) | |
| parent | 22763c5cf3690a681551162c15d34d935308c8d7 (diff) | |
Merge commit 'v2.6.32' into next
Diffstat (limited to 'drivers/net/usb')
| -rw-r--r-- | drivers/net/usb/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/net/usb/cdc_ether.c | 42 | ||||
| -rw-r--r-- | drivers/net/usb/hso.c | 8 |
3 files changed, 47 insertions, 5 deletions
diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig index c47237c2d638..32d93564a74d 100644 --- a/drivers/net/usb/Kconfig +++ b/drivers/net/usb/Kconfig | |||
| @@ -174,7 +174,7 @@ config USB_NET_CDCETHER | |||
| 174 | * Ericsson Mobile Broadband Module (all variants) | 174 | * Ericsson Mobile Broadband Module (all variants) |
| 175 | * Motorola (DM100 and SB4100) | 175 | * Motorola (DM100 and SB4100) |
| 176 | * Broadcom Cable Modem (reference design) | 176 | * Broadcom Cable Modem (reference design) |
| 177 | * Toshiba (PCX1100U and F3507g) | 177 | * Toshiba (PCX1100U and F3507g/F3607gw) |
| 178 | * ... | 178 | * ... |
| 179 | 179 | ||
| 180 | This driver creates an interface named "ethX", where X depends on | 180 | This driver creates an interface named "ethX", where X depends on |
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index 4a6aff579403..21e1ba160008 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c | |||
| @@ -544,20 +544,60 @@ static const struct usb_device_id products [] = { | |||
| 544 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | 544 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), |
| 545 | .driver_info = (unsigned long) &cdc_info, | 545 | .driver_info = (unsigned long) &cdc_info, |
| 546 | }, { | 546 | }, { |
| 547 | /* Ericsson F3307 */ | 547 | /* Ericsson F3607gw ver 2 */ |
| 548 | USB_DEVICE_AND_INTERFACE_INFO(0x0bdb, 0x1905, USB_CLASS_COMM, | ||
| 549 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | ||
| 550 | .driver_info = (unsigned long) &cdc_info, | ||
| 551 | }, { | ||
| 552 | /* Ericsson F3607gw ver 3 */ | ||
| 548 | USB_DEVICE_AND_INTERFACE_INFO(0x0bdb, 0x1906, USB_CLASS_COMM, | 553 | USB_DEVICE_AND_INTERFACE_INFO(0x0bdb, 0x1906, USB_CLASS_COMM, |
| 549 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | 554 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), |
| 550 | .driver_info = (unsigned long) &cdc_info, | 555 | .driver_info = (unsigned long) &cdc_info, |
| 551 | }, { | 556 | }, { |
| 557 | /* Ericsson F3307 */ | ||
| 558 | USB_DEVICE_AND_INTERFACE_INFO(0x0bdb, 0x190a, USB_CLASS_COMM, | ||
| 559 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | ||
| 560 | .driver_info = (unsigned long) &cdc_info, | ||
| 561 | }, { | ||
| 562 | /* Ericsson F3307 ver 2 */ | ||
| 563 | USB_DEVICE_AND_INTERFACE_INFO(0x0bdb, 0x1909, USB_CLASS_COMM, | ||
| 564 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | ||
| 565 | .driver_info = (unsigned long) &cdc_info, | ||
| 566 | }, { | ||
| 567 | /* Ericsson C3607w */ | ||
| 568 | USB_DEVICE_AND_INTERFACE_INFO(0x0bdb, 0x1049, USB_CLASS_COMM, | ||
| 569 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | ||
| 570 | .driver_info = (unsigned long) &cdc_info, | ||
| 571 | }, { | ||
| 552 | /* Toshiba F3507g */ | 572 | /* Toshiba F3507g */ |
| 553 | USB_DEVICE_AND_INTERFACE_INFO(0x0930, 0x130b, USB_CLASS_COMM, | 573 | USB_DEVICE_AND_INTERFACE_INFO(0x0930, 0x130b, USB_CLASS_COMM, |
| 554 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | 574 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), |
| 555 | .driver_info = (unsigned long) &cdc_info, | 575 | .driver_info = (unsigned long) &cdc_info, |
| 556 | }, { | 576 | }, { |
| 577 | /* Toshiba F3607gw */ | ||
| 578 | USB_DEVICE_AND_INTERFACE_INFO(0x0930, 0x130c, USB_CLASS_COMM, | ||
| 579 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | ||
| 580 | .driver_info = (unsigned long) &cdc_info, | ||
| 581 | }, { | ||
| 582 | /* Toshiba F3607gw ver 2 */ | ||
| 583 | USB_DEVICE_AND_INTERFACE_INFO(0x0930, 0x1311, USB_CLASS_COMM, | ||
| 584 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | ||
| 585 | .driver_info = (unsigned long) &cdc_info, | ||
| 586 | }, { | ||
| 557 | /* Dell F3507g */ | 587 | /* Dell F3507g */ |
| 558 | USB_DEVICE_AND_INTERFACE_INFO(0x413c, 0x8147, USB_CLASS_COMM, | 588 | USB_DEVICE_AND_INTERFACE_INFO(0x413c, 0x8147, USB_CLASS_COMM, |
| 559 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | 589 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), |
| 560 | .driver_info = (unsigned long) &cdc_info, | 590 | .driver_info = (unsigned long) &cdc_info, |
| 591 | }, { | ||
| 592 | /* Dell F3607gw */ | ||
| 593 | USB_DEVICE_AND_INTERFACE_INFO(0x413c, 0x8183, USB_CLASS_COMM, | ||
| 594 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | ||
| 595 | .driver_info = (unsigned long) &cdc_info, | ||
| 596 | }, { | ||
| 597 | /* Dell F3607gw ver 2 */ | ||
| 598 | USB_DEVICE_AND_INTERFACE_INFO(0x413c, 0x8184, USB_CLASS_COMM, | ||
| 599 | USB_CDC_SUBCLASS_MDLM, USB_CDC_PROTO_NONE), | ||
| 600 | .driver_info = (unsigned long) &cdc_info, | ||
| 561 | }, | 601 | }, |
| 562 | { }, // END | 602 | { }, // END |
| 563 | }; | 603 | }; |
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index fa4e58196c21..43bc3fcc0d85 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c | |||
| @@ -378,7 +378,7 @@ static void dbg_dump(int line_count, const char *func_name, unsigned char *buf, | |||
| 378 | } | 378 | } |
| 379 | 379 | ||
| 380 | #define DUMP(buf_, len_) \ | 380 | #define DUMP(buf_, len_) \ |
| 381 | dbg_dump(__LINE__, __func__, buf_, len_) | 381 | dbg_dump(__LINE__, __func__, (unsigned char *)buf_, len_) |
| 382 | 382 | ||
| 383 | #define DUMP1(buf_, len_) \ | 383 | #define DUMP1(buf_, len_) \ |
| 384 | do { \ | 384 | do { \ |
| @@ -1363,7 +1363,7 @@ static void hso_serial_close(struct tty_struct *tty, struct file *filp) | |||
| 1363 | /* reset the rts and dtr */ | 1363 | /* reset the rts and dtr */ |
| 1364 | /* do the actual close */ | 1364 | /* do the actual close */ |
| 1365 | serial->open_count--; | 1365 | serial->open_count--; |
| 1366 | kref_put(&serial->parent->ref, hso_serial_ref_free); | 1366 | |
| 1367 | if (serial->open_count <= 0) { | 1367 | if (serial->open_count <= 0) { |
| 1368 | serial->open_count = 0; | 1368 | serial->open_count = 0; |
| 1369 | spin_lock_irq(&serial->serial_lock); | 1369 | spin_lock_irq(&serial->serial_lock); |
| @@ -1383,6 +1383,8 @@ static void hso_serial_close(struct tty_struct *tty, struct file *filp) | |||
| 1383 | usb_autopm_put_interface(serial->parent->interface); | 1383 | usb_autopm_put_interface(serial->parent->interface); |
| 1384 | 1384 | ||
| 1385 | mutex_unlock(&serial->parent->mutex); | 1385 | mutex_unlock(&serial->parent->mutex); |
| 1386 | |||
| 1387 | kref_put(&serial->parent->ref, hso_serial_ref_free); | ||
| 1386 | } | 1388 | } |
| 1387 | 1389 | ||
| 1388 | /* close the requested serial port */ | 1390 | /* close the requested serial port */ |
| @@ -1527,7 +1529,7 @@ static void tiocmget_intr_callback(struct urb *urb) | |||
| 1527 | dev_warn(&usb->dev, | 1529 | dev_warn(&usb->dev, |
| 1528 | "hso received invalid serial state notification\n"); | 1530 | "hso received invalid serial state notification\n"); |
| 1529 | DUMP(serial_state_notification, | 1531 | DUMP(serial_state_notification, |
| 1530 | sizeof(hso_serial_state_notifation)) | 1532 | sizeof(struct hso_serial_state_notification)); |
| 1531 | } else { | 1533 | } else { |
| 1532 | 1534 | ||
| 1533 | UART_state_bitmap = le16_to_cpu(serial_state_notification-> | 1535 | UART_state_bitmap = le16_to_cpu(serial_state_notification-> |
