usb: cdc-wdm: ignore speed change notifications
authorBjørn Mork <bjorn@mork.no>
Tue, 29 Oct 2013 08:52:57 +0000 (09:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Oct 2013 00:02:41 +0000 (17:02 -0700)
The only notification supported by the Device Management class is
Response Available. But this driver is also used as a subdriver of
other CDC classes, allowing notifications like Speed Change and
Network Connection. This results in log messages which are only
confusing to an end user:

 [66255.801874] cdc_mbim 1-3:1.5: unknown notification 42 received: index 5 len 8

These drivers use cdc-wdm as a subdriver to allow access to an
embedded management protocol, and all management is expected to
use this protocol. There is therefore no need to handle any of
these optional CDC notifications. Instead we can let the cdc-wdm
driver recognize them and log a debug level message instead of an
error.

Reported-by: Rob Gardner <robmatic@gmail.com>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/class/cdc-wdm.c

index 589ea58d5d6627f3042f4a2a0a222b5d3e06d2dc..4d387596f3f0a6e531caa1a9049a383d605091b4 100644 (file)
@@ -254,6 +254,10 @@ static void wdm_int_callback(struct urb *urb)
                        "NOTIFY_NETWORK_CONNECTION %s network",
                        dr->wValue ? "connected to" : "disconnected from");
                goto exit;
+       case USB_CDC_NOTIFY_SPEED_CHANGE:
+               dev_dbg(&desc->intf->dev, "SPEED_CHANGE received (len %u)",
+                       urb->actual_length);
+               goto exit;
        default:
                clear_bit(WDM_POLL_RUNNING, &desc->flags);
                dev_err(&desc->intf->dev,