diff options
| author | 2010-09-08 23:49:04 -0700 | |
|---|---|---|
| committer | 2010-09-08 23:49:04 -0700 | |
| commit | e199e6136ce6b151e6638ae93dca60748424d900 (patch) | |
| tree | 0d66e0b5d227c36b005e4f5537f4bbcfc6ed4904 /drivers/usb/core/generic.c | |
| parent | KS8851: Correct RX packet allocation (diff) | |
| parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 (diff) | |
| download | wireguard-linux-e199e6136ce6b151e6638ae93dca60748424d900.tar.xz wireguard-linux-e199e6136ce6b151e6638ae93dca60748424d900.zip | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/usb/core/generic.c')
| -rw-r--r-- | drivers/usb/core/generic.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c index 9a34ccb0a1c0..69ecd3c92311 100644 --- a/drivers/usb/core/generic.c +++ b/drivers/usb/core/generic.c @@ -105,8 +105,10 @@ int usb_choose_configuration(struct usb_device *udev) /* When the first config's first interface is one of Microsoft's * pet nonstandard Ethernet-over-USB protocols, ignore it unless * this kernel has enabled the necessary host side driver. + * But: Don't ignore it if it's the only config. */ - if (i == 0 && desc && (is_rndis(desc) || is_activesync(desc))) { + if (i == 0 && num_configs > 1 && desc && + (is_rndis(desc) || is_activesync(desc))) { #if !defined(CONFIG_USB_NET_RNDIS_HOST) && !defined(CONFIG_USB_NET_RNDIS_HOST_MODULE) continue; #else |
