]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/2.6.36.2/gspca-main-fix-a-regression-with-the-ps3-eye-webcam.patch
Fixes for 4.19
[thirdparty/kernel/stable-queue.git] / releases / 2.6.36.2 / gspca-main-fix-a-regression-with-the-ps3-eye-webcam.patch
CommitLineData
d86d85d9
GKH
1From f43402fa55bf5e7e190c176343015122f694857c Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Moine?= <moinejf@free.fr>
3Date: Sat, 16 Oct 2010 13:54:05 -0300
4Subject: [media] gspca - main: Fix a regression with the PS3 Eye webcam
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Moine?= <moinejf@free.fr>
10
11commit f43402fa55bf5e7e190c176343015122f694857c upstream.
12
13When audio is present, some alternate settings were skipped.
14This prevented some webcams to work, especially when bulk transfer was used.
15This patch permits to use the last or only alternate setting.
16
17Reported-by: Antonio Ospite <ospite@studenti.unina.it>
18Tested-by: Antonio Ospite <ospite@studenti.unina.it>
19Signed-off-by: Jean-François Moine <moinejf@free.fr>
20Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
21Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
22
23---
24 drivers/media/video/gspca/gspca.c | 4 ++--
25 1 file changed, 2 insertions(+), 2 deletions(-)
26
27--- a/drivers/media/video/gspca/gspca.c
28+++ b/drivers/media/video/gspca/gspca.c
29@@ -652,7 +652,7 @@ static struct usb_host_endpoint *get_ep(
30 : USB_ENDPOINT_XFER_ISOC;
31 i = gspca_dev->alt; /* previous alt setting */
32 if (gspca_dev->cam.reverse_alts) {
33- if (gspca_dev->audio)
34+ if (gspca_dev->audio && i < gspca_dev->nbalt - 2)
35 i++;
36 while (++i < gspca_dev->nbalt) {
37 ep = alt_xfer(&intf->altsetting[i], xfer);
38@@ -660,7 +660,7 @@ static struct usb_host_endpoint *get_ep(
39 break;
40 }
41 } else {
42- if (gspca_dev->audio)
43+ if (gspca_dev->audio && i > 1)
44 i--;
45 while (--i >= 0) {
46 ep = alt_xfer(&intf->altsetting[i], xfer);