Although the interface could be set in identify state, ideally it should be done in the probe. Allow d->props.bInterfaceNumber try to set the correct interface rather than return error. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> --- drivers/media/dvb/dvb-usb/dvb_usb_init.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/media/dvb/dvb-usb/dvb_usb_init.c b/drivers/media/dvb/dvb-usb/dvb_usb_init.c index c16a28a..b2eb8ac 100644 --- a/drivers/media/dvb/dvb-usb/dvb_usb_init.c +++ b/drivers/media/dvb/dvb-usb/dvb_usb_init.c @@ -391,8 +391,15 @@ int dvb_usbv2_probe(struct usb_interface *intf, if (d->intf->cur_altsetting->desc.bInterfaceNumber != d->props.bInterfaceNumber) { - ret = -ENODEV; - goto err_kfree; + usb_reset_configuration(d->udev); + + ret = usb_set_interface(d->udev, + d->intf->cur_altsetting->desc.bInterfaceNumber, + d->props.bInterfaceNumber); + if (ret < 0) { + ret = -ENODEV; + goto err_kfree; + } } mutex_init(&d->usb_mutex); -- 1.7.10 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html