USB: cdc-wdm: Avoid hanging on interface with no USB_CDC_DMM_TYPE
authorBjørn Mork <bjorn@mork.no>
Fri, 20 Jan 2012 00:49:57 +0000 (01:49 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Feb 2012 17:22:17 +0000 (09:22 -0800)
commit1cbb2489441fe3dbb28dc4920f3494898b3d09df
treedcc8f18b60de726a235aacb83aae7b44a651588d
parent7a55df4694e1758a7a1c3b1432e36fca0c859d6a
USB: cdc-wdm: Avoid hanging on interface with no USB_CDC_DMM_TYPE

commit 15699e6fafc3a90e5fdc2ef30555a04dee62286f upstream.

The probe does not strictly require the USB_CDC_DMM_TYPE
descriptor, which is a good thing as it makes the driver
usable on non-conforming interfaces.  A user could e.g.
bind to it to a CDC ECM interface by using the new_id and
bind sysfs files.  But this would fail with a 0 buffer length
due to the missing descriptor.

Fix by defining a reasonable fallback size: The minimum
device receive buffer size required by the CDC WMC standard,
revision 1.1

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