diff options
author | Julian Calaby <julian.calaby@gmail.com> | 2010-01-05 07:58:20 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-03-02 17:53:32 -0500 |
commit | ce126644aa10bf1d8f1c1929b65adab026095761 (patch) | |
tree | 186e24b9655716e4bf387acf89bfc65e301a9b88 /drivers/usb/class | |
parent | 7c5d8c394a077a686cfa646cd85dc159a2a940cc (diff) |
USB: cdc_acm: Silence "It is not a modem." error for pbLua devices
The pbLua console port is known to not be a modem, so it is
unnecessary to be told this when it is plugged in.
Add NOT_A_MODEM quirk to tell the driver that we know this already
and hence not to warn us, and mark the pbLua console port.
Signed-off-by: Julian Calaby <julian.calaby@gmail.com>
Cc: Oliver Neukum <oliver@neukum.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/class')
-rw-r--r-- | drivers/usb/class/cdc-acm.c | 6 | ||||
-rw-r--r-- | drivers/usb/class/cdc-acm.h | 1 |
2 files changed, 5 insertions, 2 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index d071da96e075..95f29a293041 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -1010,7 +1010,7 @@ static int acm_probe(struct usb_interface *intf, | |||
1010 | case USB_CDC_CALL_MANAGEMENT_TYPE: | 1010 | case USB_CDC_CALL_MANAGEMENT_TYPE: |
1011 | call_management_function = buffer[3]; | 1011 | call_management_function = buffer[3]; |
1012 | call_interface_num = buffer[4]; | 1012 | call_interface_num = buffer[4]; |
1013 | if ((call_management_function & 3) != 3) | 1013 | if ( (quirks & NOT_A_MODEM) == 0 && (call_management_function & 3) != 3) |
1014 | dev_err(&intf->dev, "This device cannot do calls on its own. It is not a modem.\n"); | 1014 | dev_err(&intf->dev, "This device cannot do calls on its own. It is not a modem.\n"); |
1015 | break; | 1015 | break; |
1016 | default: | 1016 | default: |
@@ -1595,7 +1595,9 @@ static struct usb_device_id acm_ids[] = { | |||
1595 | /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ | 1595 | /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ |
1596 | 1596 | ||
1597 | /* Support Lego NXT using pbLua firmware */ | 1597 | /* Support Lego NXT using pbLua firmware */ |
1598 | { USB_DEVICE(0x0694, 0xff00), }, | 1598 | { USB_DEVICE(0x0694, 0xff00), |
1599 | .driver_info = NOT_A_MODEM, | ||
1600 | }, | ||
1599 | 1601 | ||
1600 | /* control interfaces with various AT-command sets */ | 1602 | /* control interfaces with various AT-command sets */ |
1601 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, | 1603 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, |
diff --git a/drivers/usb/class/cdc-acm.h b/drivers/usb/class/cdc-acm.h index 519eb638b6e9..4a8e87ec6ce9 100644 --- a/drivers/usb/class/cdc-acm.h +++ b/drivers/usb/class/cdc-acm.h | |||
@@ -136,3 +136,4 @@ struct acm { | |||
136 | #define NO_UNION_NORMAL 1 | 136 | #define NO_UNION_NORMAL 1 |
137 | #define SINGLE_RX_URB 2 | 137 | #define SINGLE_RX_URB 2 |
138 | #define NO_CAP_LINE 4 | 138 | #define NO_CAP_LINE 4 |
139 | #define NOT_A_MODEM 8 | ||