--- y/drivers/usb/core/devio.c +++ x/drivers/usb/core/devio.c @@ -2352,7 +2352,7 @@ static int proc_ioctl(struct usb_dev_sta /* let kernel drivers try to (re)bind to the interface */ case USBDEVFS_CONNECT: - if (!intf->dev.driver) + if (!intf->dev.driver && intf->dev.p) retval = device_attach(&intf->dev); else retval = -EBUSY;