summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorglei <glei@nvidia.com>2014-01-24 17:33:26 +0800
committerMartin Chi <mchi@nvidia.com>2014-01-27 00:20:10 -0800
commit3e11a6c957340ae770252923bd8a9878b3877b3e (patch)
tree96323c95ae630cad71e0a1bcec426379c7bd9546
parenta6f804e4177ab870fe68d8f989b82afdc25e9f83 (diff)
usb: acm: No hangup for Bruce during reset resume.
Set NO_HANGUP_IN_RESET_RESUME flag to Bruce model to prevent tty hangup during reset resume procedure. Bug 1446181 Change-Id: I3866e49e8c36ec8627791cd63a237b3bca63e0b9 Signed-off-by: glei <glei@nvidia.com> Reviewed-on: http://git-master/r/359777 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Martin Chi <mchi@nvidia.com>
-rw-r--r--drivers/usb/class/cdc-acm.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 626a9a0d0547..8dd9d94e26a7 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -1723,8 +1723,11 @@ static int acm_reset_resume(struct usb_interface *intf)
if (test_bit(ASYNCB_INITIALIZED, &acm->port.flags)) {
tty = tty_port_tty_get(&acm->port);
if (tty) {
- if (!acm->no_hangup_in_reset_resume)
+ if (!acm->no_hangup_in_reset_resume) {
+ pr_info("%s: tty(%d) hangup due to reset resume.\n",
+ __func__, tty->index);
tty_hangup(tty);
+ }
tty_kref_put(tty);
}
}
@@ -1913,6 +1916,11 @@ static const struct usb_device_id acm_ids[] = {
.driver_info = NO_HANGUP_IN_RESET_RESUME,
},
+ /* Icera 500 - Bruce */
+ { USB_DEVICE(0x1983, 0x1007),
+ .driver_info = NO_HANGUP_IN_RESET_RESUME,
+ },
+
/* control interfaces without any protocol set */
{ USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM,
USB_CDC_PROTO_NONE) },