USB: repair USBDEVFS_CONNECT ioctl
For as long as I've known about it, the USBDEVFS_CONNECT ioctl hasn't done what it's supposed to. The current code reprobes _all_ the unbound USB interfaces; this patch (as1021) makes it reprobe only the interface for which it was called. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Родитель
badef81922
Коммит
885e97478b
|
@ -1373,9 +1373,10 @@ static int proc_ioctl(struct dev_state *ps, struct usbdevfs_ioctl *ctl)
|
|||
|
||||
/* let kernel drivers try to (re)bind to the interface */
|
||||
case USBDEVFS_CONNECT:
|
||||
usb_unlock_device(ps->dev);
|
||||
retval = bus_rescan_devices(intf->dev.bus);
|
||||
usb_lock_device(ps->dev);
|
||||
if (!intf->dev.driver)
|
||||
retval = device_attach(&intf->dev);
|
||||
else
|
||||
retval = -EBUSY;
|
||||
break;
|
||||
|
||||
/* talk directly to the interface's driver */
|
||||
|
|
Загрузка…
Ссылка в новой задаче