diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-28 16:03:09 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-28 16:03:09 -0800 |
commit | bb0851ff9dc65dd9c9365fdb87895d98235ac463 (patch) | |
tree | d19b7440bb5b0dec31cef2c384cccdd473f314e7 /drivers/usb/core/message.c | |
parent | 34f2c1c35ff014a5d145971e41caa940cd62d563 (diff) | |
parent | 5f629ad7e5f9b99c6d025bf199d402734bd72d0f (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (25 commits)
USB: s3c2410 gadget: ensure vbus pin in input mode during read
USB: s3c2410 gadget: allow sharing of vbus irq
USB: s3c2410 gadget: Header move fixups
USB: usb-storage: unusual_devs entry for JetFlash TS1GJF2A
USB: fix up EHCI startup synchronization
USB: make the microtek driver and HAL cooperate
USB: uevent environment key fix
USB: keep track of whether interface sysfs files exist
USB: sierra: new product id
USB HCD: avoid duplicate local_irq_disable()
USB: mailing lists have changed
USB: remove USB HUB entry from MAINTAINERS
USB: fix directory references in usb/README
USB: add support for an older firmware revision for the Nikon D200
USB: FIx locks and urb->status in adutux (updated)
USB: power-management documenation update
USB: Fix signr comment in usbdevice_fs.h
usbserial: fix inconsistent lock state
USB: fix usbled disconnect read race #2
USB: free memory when writing fails in usb/serial/mos7840.c
...
Diffstat (limited to 'drivers/usb/core/message.c')
-rw-r--r-- | drivers/usb/core/message.c | 36 |
1 files changed, 2 insertions, 34 deletions
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index 316a746e0080..fcd40ecbeecc 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -1172,7 +1172,6 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate) struct usb_host_interface *alt; int ret; int manual = 0; - int changed; if (dev->state == USB_STATE_SUSPENDED) return -EHOSTUNREACH; @@ -1212,8 +1211,7 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate) */ /* prevent submissions using previous endpoint settings */ - changed = (iface->cur_altsetting != alt); - if (changed && device_is_registered(&iface->dev)) + if (iface->cur_altsetting != alt && device_is_registered(&iface->dev)) usb_remove_sysfs_intf_files(iface); usb_disable_interface(dev, iface); @@ -1250,7 +1248,7 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate) * (Likewise, EP0 never "halts" on well designed devices.) */ usb_enable_interface(dev, iface); - if (changed && device_is_registered(&iface->dev)) + if (device_is_registered(&iface->dev)) usb_create_sysfs_intf_files(iface); return 0; @@ -1348,34 +1346,10 @@ static int usb_if_uevent(struct device *dev, struct kobj_uevent_env *env) struct usb_interface *intf; struct usb_host_interface *alt; - if (!dev) - return -ENODEV; - - /* driver is often null here; dev_dbg() would oops */ - pr_debug ("usb %s: uevent\n", dev->bus_id); - intf = to_usb_interface(dev); usb_dev = interface_to_usbdev(intf); alt = intf->cur_altsetting; -#ifdef CONFIG_USB_DEVICEFS - if (add_uevent_var(env, "DEVICE=/proc/bus/usb/%03d/%03d", - usb_dev->bus->busnum, usb_dev->devnum)) - return -ENOMEM; -#endif - - if (add_uevent_var(env, "PRODUCT=%x/%x/%x", - le16_to_cpu(usb_dev->descriptor.idVendor), - le16_to_cpu(usb_dev->descriptor.idProduct), - le16_to_cpu(usb_dev->descriptor.bcdDevice))) - return -ENOMEM; - - if (add_uevent_var(env, "TYPE=%d/%d/%d", - usb_dev->descriptor.bDeviceClass, - usb_dev->descriptor.bDeviceSubClass, - usb_dev->descriptor.bDeviceProtocol)) - return -ENOMEM; - if (add_uevent_var(env, "INTERFACE=%d/%d/%d", alt->desc.bInterfaceClass, alt->desc.bInterfaceSubClass, @@ -1641,12 +1615,6 @@ free_interfaces: intf->dev.bus_id, ret); continue; } - - /* The driver's probe method can call usb_set_interface(), - * which would mean the interface's sysfs files are already - * created. Just in case, we'll remove them first. - */ - usb_remove_sysfs_intf_files(intf); usb_create_sysfs_intf_files(intf); } |