diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-24 00:35:04 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-24 00:35:04 -0400 |
| commit | 9e1a3e31cbfd5f5822e633c4bdf3304079cb10c2 (patch) | |
| tree | 88653393c17c0ac5c0b30a244d6e6dc97b314e1f /drivers/usb/class/cdc-acm.c | |
| parent | de80af4cc9c30318224b8520dc76a7d097e64cbd (diff) | |
| parent | d65cc1b45e7d3a24c25fd3d730042e407d6d64ce (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (35 commits)
usb: add PRODUCT, TYPE to usb-interface events
USB: resubmission unusual_devs modification for Nikon D80
usb quirks: Add Canon EOS 5D (PC Connection mode) to the autosuspend blacklist
USB: make EHCI initialize properly on PPC SOCs
UEAGLE: Remove sysfs files on error case
USB: fsl_usb2_udc: fix bug in processing setup requests
USB: g_file_storage: fix bug in DMA buffer handling
USB: update last_busy field correctly
USB: fix DoS in pwc USB video driver
USB: allow retry on descriptor fetch errors
USB: unkill cxacru atm driver
USB: Adding support for HTC Smartphones to ipaq
USB: another quirky device
USB: quirky mass storage device
USB: ohci, fix oddball gcc warning
usb-storage: fix bugs in the disconnect pathway
usb: typo in usb R8A66597 HCD config
USB: accept 1-byte Device Status replies, fixing some b0rken devices
USB: blacklist Samsung ML-2010 printer
usb-serial: fix oti6858.c segfault in termios handling
...
Diffstat (limited to 'drivers/usb/class/cdc-acm.c')
| -rw-r--r-- | drivers/usb/class/cdc-acm.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index fe940e0536e0..f51e22490edf 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
| @@ -921,6 +921,10 @@ skip_normal_probe: | |||
| 921 | return -EINVAL; | 921 | return -EINVAL; |
| 922 | } | 922 | } |
| 923 | } | 923 | } |
| 924 | |||
| 925 | /* Accept probe requests only for the control interface */ | ||
| 926 | if (intf != control_interface) | ||
| 927 | return -ENODEV; | ||
| 924 | 928 | ||
| 925 | if (usb_interface_claimed(data_interface)) { /* valid in this context */ | 929 | if (usb_interface_claimed(data_interface)) { /* valid in this context */ |
| 926 | dev_dbg(&intf->dev,"The data interface isn't available"); | 930 | dev_dbg(&intf->dev,"The data interface isn't available"); |
| @@ -1109,10 +1113,12 @@ static void acm_disconnect(struct usb_interface *intf) | |||
| 1109 | return; | 1113 | return; |
| 1110 | } | 1114 | } |
| 1111 | if (acm->country_codes){ | 1115 | if (acm->country_codes){ |
| 1112 | device_remove_file(&intf->dev, &dev_attr_wCountryCodes); | 1116 | device_remove_file(&acm->control->dev, |
| 1113 | device_remove_file(&intf->dev, &dev_attr_iCountryCodeRelDate); | 1117 | &dev_attr_wCountryCodes); |
| 1118 | device_remove_file(&acm->control->dev, | ||
| 1119 | &dev_attr_iCountryCodeRelDate); | ||
| 1114 | } | 1120 | } |
| 1115 | device_remove_file(&intf->dev, &dev_attr_bmCapabilities); | 1121 | device_remove_file(&acm->control->dev, &dev_attr_bmCapabilities); |
| 1116 | acm->dev = NULL; | 1122 | acm->dev = NULL; |
| 1117 | usb_set_intfdata(acm->control, NULL); | 1123 | usb_set_intfdata(acm->control, NULL); |
| 1118 | usb_set_intfdata(acm->data, NULL); | 1124 | usb_set_intfdata(acm->data, NULL); |
