From: Antti Palosaari <crope@iki.fi>
To: Malcolm Priestley <tvboxspy@gmail.com>
Cc: linux-media <linux-media@vger.kernel.org>
Subject: Re: [PATCH 2/2] dvb_usb_v2 Allow d->props.bInterfaceNumber to set the correct interface.
Date: Thu, 14 Jun 2012 01:55:24 +0300 [thread overview]
Message-ID: <4FD91A5C.9060603@iki.fi> (raw)
In-Reply-To: <1339626396.2421.75.camel@Route3278>
On 06/14/2012 01:26 AM, Malcolm Priestley wrote:
> 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@gmail.com>
> ---
> 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);
I suspect it is wrong, as is changes alternate setting (to the
bInterfaceNumber given as a property) whilst interface seems to be same
what I understand. You are confusing with alternate setting and
interface, right?
http://ftp.au.debian.org/linux-mandocs/2.6.12.6/usb_set_interface.html
After my explanation, are you really sure that this is correct?
USB device could have multiple interfaces. And each interface could have
multiple alternate settings.
For the DVB device point of view those means generally that if we have
multiple interfaces those are one for remote and one for DVB. And if we
have multiple alternate settings inside DVB interface it is selecting
for USB stream settings (BULK vs. ISOC, different ISOC profiles). That
kind of alternate setting change belongs to streaming control callback
of driver.
But I like the idea of switching to correct interface. But I doubt it is
not possible, as USB core claims interfaces. And my opinion is that
interface should be added as a USB match flag, instead of that kind
driver checks.
> + if (ret< 0) {
> + ret = -ENODEV;
> + goto err_kfree;
> + }
> }
>
> mutex_init(&d->usb_mutex);
regards
Antti
--
http://palosaari.fi/
prev parent reply other threads:[~2012-06-13 22:55 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-13 22:26 [PATCH 2/2] dvb_usb_v2 Allow d->props.bInterfaceNumber to set the correct interface Malcolm Priestley
2012-06-13 22:55 ` Antti Palosaari [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FD91A5C.9060603@iki.fi \
--to=crope@iki.fi \
--cc=linux-media@vger.kernel.org \
--cc=tvboxspy@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.