summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2012-06-21 09:35:04 (GMT)
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-07-06 18:26:47 (GMT)
commit4807063faa08f279b4ca9c2b1f0101a4670f7d43 (patch)
tree4e929cb998ac301f154f91afbf7d80b3214779a3
parentc854a48a97feb94ccd4501593badd1b9907326c2 (diff)
downloadlinux-4807063faa08f279b4ca9c2b1f0101a4670f7d43.tar.xz
[media] uvcvideo: Fix alternate setting selection
The alternate setting number is not equal to the alternate setting index in the interface alternate settings table. Use the alternate setting number from the interface descriptor when calling usb_set_interface(). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Ming Lei <ming.lei@canonical.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/uvc/uvc_video.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/video/uvc/uvc_video.c b/drivers/media/video/uvc/uvc_video.c
index 39f5c85..7ac4347 100644
--- a/drivers/media/video/uvc/uvc_video.c
+++ b/drivers/media/video/uvc/uvc_video.c
@@ -1598,7 +1598,7 @@ static int uvc_init_video(struct uvc_streaming *stream, gfp_t gfp_flags)
psize = le16_to_cpu(ep->desc.wMaxPacketSize);
psize = (psize & 0x07ff) * (1 + ((psize >> 11) & 3));
if (psize >= bandwidth && psize <= best_psize) {
- altsetting = i;
+ altsetting = alts->desc.bAlternateSetting;
best_psize = psize;
best_ep = ep;
}