From a12200547f0ce0ad8686b8288df270ac0110f94d Mon Sep 17 00:00:00 2001 From: Julian Calaby Date: Tue, 5 Jan 2010 23:58:20 +1100 Subject: [PATCH] --- yaml --- r: 185271 b: refs/heads/master c: ce126644aa10bf1d8f1c1929b65adab026095761 h: refs/heads/master i: 185269: ebf8f5103df1b3fe0f65fbf16f65184d422f6b61 185267: 8cd72b8c5f85a644c04e4e1f0504d9add44ee0a2 185263: fc1aadb095533d090bce591c57b18aa38d171955 v: v3 --- [refs] | 2 +- trunk/drivers/usb/class/cdc-acm.c | 6 ++++-- trunk/drivers/usb/class/cdc-acm.h | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index a24f9f80d9ce..f1914777a53b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7c5d8c394a077a686cfa646cd85dc159a2a940cc +refs/heads/master: ce126644aa10bf1d8f1c1929b65adab026095761 diff --git a/trunk/drivers/usb/class/cdc-acm.c b/trunk/drivers/usb/class/cdc-acm.c index d071da96e075..95f29a293041 100644 --- a/trunk/drivers/usb/class/cdc-acm.c +++ b/trunk/drivers/usb/class/cdc-acm.c @@ -1010,7 +1010,7 @@ static int acm_probe(struct usb_interface *intf, case USB_CDC_CALL_MANAGEMENT_TYPE: call_management_function = buffer[3]; call_interface_num = buffer[4]; - if ((call_management_function & 3) != 3) + if ( (quirks & NOT_A_MODEM) == 0 && (call_management_function & 3) != 3) dev_err(&intf->dev, "This device cannot do calls on its own. It is not a modem.\n"); break; default: @@ -1595,7 +1595,9 @@ static struct usb_device_id acm_ids[] = { /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ /* Support Lego NXT using pbLua firmware */ - { USB_DEVICE(0x0694, 0xff00), }, + { USB_DEVICE(0x0694, 0xff00), + .driver_info = NOT_A_MODEM, + }, /* control interfaces with various AT-command sets */ { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, diff --git a/trunk/drivers/usb/class/cdc-acm.h b/trunk/drivers/usb/class/cdc-acm.h index 519eb638b6e9..4a8e87ec6ce9 100644 --- a/trunk/drivers/usb/class/cdc-acm.h +++ b/trunk/drivers/usb/class/cdc-acm.h @@ -136,3 +136,4 @@ struct acm { #define NO_UNION_NORMAL 1 #define SINGLE_RX_URB 2 #define NO_CAP_LINE 4 +#define NOT_A_MODEM 8