sharkcz / rpms / kernel

Forked from rpms/kernel 6 years ago
Clone
Chuck Ebbert 57d9bc3
From c6c14330717f9850b4b4c054b81424b9979cd07d Mon Sep 17 00:00:00 2001
Chuck Ebbert 57d9bc3
From: Jean-Francois Moine <moinejf@free.fr>
Chuck Ebbert 57d9bc3
Date: Tue, 14 Dec 2010 16:15:37 -0300
Chuck Ebbert 57d9bc3
Subject: [media] gspca - sonixj: Add a flag in the driver_info table
Chuck Ebbert 57d9bc3
MIME-Version: 1.0
Chuck Ebbert 57d9bc3
Content-Type: text/plain; charset=UTF-8
Chuck Ebbert 57d9bc3
Content-Transfer-Encoding: 8bit
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
From: Jean-Francois Moine <moinejf@free.fr>
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
commit c6c14330717f9850b4b4c054b81424b9979cd07d upstream.
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Chuck Ebbert 57d9bc3
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Chuck Ebbert 57d9bc3
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Chuck Ebbert 57d9bc3
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
---
Chuck Ebbert 57d9bc3
 drivers/media/video/gspca/sonixj.c |   10 ++++++++--
Chuck Ebbert 57d9bc3
 1 file changed, 8 insertions(+), 2 deletions(-)
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
Index: linux-2.6.35.y/drivers/media/video/gspca/sonixj.c
Chuck Ebbert 57d9bc3
===================================================================
Chuck Ebbert 57d9bc3
--- linux-2.6.35.y.orig/drivers/media/video/gspca/sonixj.c
Chuck Ebbert 57d9bc3
+++ linux-2.6.35.y/drivers/media/video/gspca/sonixj.c
Chuck Ebbert 57d9bc3
@@ -57,6 +57,7 @@ struct sd {
Chuck Ebbert 57d9bc3
 	u8 jpegqual;			/* webcam quality */
Chuck Ebbert 57d9bc3
 
Chuck Ebbert 57d9bc3
 	u8 reg18;
Chuck Ebbert 57d9bc3
+	u8 flags;
Chuck Ebbert 57d9bc3
 
Chuck Ebbert 57d9bc3
 	s8 ag_cnt;
Chuck Ebbert 57d9bc3
 #define AG_CNT_START 13
Chuck Ebbert 57d9bc3
@@ -1777,7 +1778,8 @@ static int sd_config(struct gspca_dev *g
Chuck Ebbert 57d9bc3
 	struct cam *cam;
Chuck Ebbert 57d9bc3
 
Chuck Ebbert 57d9bc3
 	sd->bridge = id->driver_info >> 16;
Chuck Ebbert 57d9bc3
-	sd->sensor = id->driver_info;
Chuck Ebbert 57d9bc3
+	sd->sensor = id->driver_info >> 8;
Chuck Ebbert 57d9bc3
+	sd->flags = id->driver_info;
Chuck Ebbert 57d9bc3
 
Chuck Ebbert 57d9bc3
 	cam = &gspca_dev->cam;
Chuck Ebbert 57d9bc3
 	if (sd->sensor == SENSOR_ADCM1700) {
Chuck Ebbert 57d9bc3
@@ -3001,7 +3003,11 @@ static const struct sd_desc sd_desc = {
Chuck Ebbert 57d9bc3
 /* -- module initialisation -- */
Chuck Ebbert 57d9bc3
 #define BS(bridge, sensor) \
Chuck Ebbert 57d9bc3
 	.driver_info = (BRIDGE_ ## bridge << 16) \
Chuck Ebbert 57d9bc3
-			| SENSOR_ ## sensor
Chuck Ebbert 57d9bc3
+			| (SENSOR_ ## sensor << 8)
Chuck Ebbert 57d9bc3
+#define BSF(bridge, sensor, flags) \
Chuck Ebbert 57d9bc3
+	.driver_info = (BRIDGE_ ## bridge << 16) \
Chuck Ebbert 57d9bc3
+			| (SENSOR_ ## sensor << 8) \
Chuck Ebbert 57d9bc3
+			| (flags)
Chuck Ebbert 57d9bc3
 static const __devinitdata struct usb_device_id device_table[] = {
Chuck Ebbert 57d9bc3
 #if !defined CONFIG_USB_SN9C102 && !defined CONFIG_USB_SN9C102_MODULE
Chuck Ebbert 57d9bc3
 	{USB_DEVICE(0x0458, 0x7025), BS(SN9C120, MI0360)},
Chuck Ebbert 57d9bc3
From b2272a49e7df37732d73988f00468ce31e1ebc92 Mon Sep 17 00:00:00 2001
Chuck Ebbert 57d9bc3
From: Jean-Francois Moine <moinejf@free.fr>
Chuck Ebbert 57d9bc3
Date: Tue, 14 Dec 2010 16:16:16 -0300
Chuck Ebbert 57d9bc3
Subject: [media] gspca - sonixj: Set the flag for some devices
Chuck Ebbert 57d9bc3
MIME-Version: 1.0
Chuck Ebbert 57d9bc3
Content-Type: text/plain; charset=UTF-8
Chuck Ebbert 57d9bc3
Content-Transfer-Encoding: 8bit
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
From: Jean-Francois Moine <moinejf@free.fr>
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
commit b2272a49e7df37732d73988f00468ce31e1ebc92 upstream.
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
The flag PDN_INV indicates that the sensor pin S_PWR_DN has not the same
Chuck Ebbert 57d9bc3
value as other webcams with the same sensor. For now, only two webcams have
Chuck Ebbert 57d9bc3
been so detected: the Microsoft's VX1000 and VX3000.
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Chuck Ebbert 57d9bc3
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Chuck Ebbert 57d9bc3
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Chuck Ebbert 57d9bc3
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
---
Chuck Ebbert 57d9bc3
 drivers/media/video/gspca/sonixj.c |    7 +++++--
Chuck Ebbert 57d9bc3
 1 file changed, 5 insertions(+), 2 deletions(-)
Chuck Ebbert 57d9bc3
Chuck Ebbert 57d9bc3
Index: linux-2.6.35.y/drivers/media/video/gspca/sonixj.c
Chuck Ebbert 57d9bc3
===================================================================
Chuck Ebbert 57d9bc3
--- linux-2.6.35.y.orig/drivers/media/video/gspca/sonixj.c
Chuck Ebbert 57d9bc3
+++ linux-2.6.35.y/drivers/media/video/gspca/sonixj.c
Chuck Ebbert 57d9bc3
@@ -88,6 +88,9 @@ enum {
Chuck Ebbert 57d9bc3
 	u8 jpeg_hdr[JPEG_HDR_SZ];
Chuck Ebbert 57d9bc3
 };
Chuck Ebbert 57d9bc3
 
Chuck Ebbert 57d9bc3
+/* device flags */
Chuck Ebbert 57d9bc3
+#define PDN_INV	1		/* inverse pin S_PWR_DN / sn_xxx tables */
Chuck Ebbert 57d9bc3
+
Chuck Ebbert 57d9bc3
 /* V4L2 controls supported by the driver */
Chuck Ebbert 57d9bc3
 static int sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val);
Chuck Ebbert 57d9bc3
 static int sd_getbrightness(struct gspca_dev *gspca_dev, __s32 *val);
Chuck Ebbert 57d9bc3
@@ -3004,8 +3007,8 @@ static const __devinitdata struct usb_de
Chuck Ebbert 57d9bc3
 	{USB_DEVICE(0x0458, 0x7025), BS(SN9C120, MI0360)},
Chuck Ebbert 57d9bc3
 	{USB_DEVICE(0x0458, 0x702e), BS(SN9C120, OV7660)},
Chuck Ebbert 57d9bc3
 #endif
Chuck Ebbert 57d9bc3
-	{USB_DEVICE(0x045e, 0x00f5), BS(SN9C105, OV7660)},
Chuck Ebbert 57d9bc3
-	{USB_DEVICE(0x045e, 0x00f7), BS(SN9C105, OV7660)},
Chuck Ebbert 57d9bc3
+	{USB_DEVICE(0x045e, 0x00f5), BSF(SN9C105, OV7660, PDN_INV)},
Chuck Ebbert 57d9bc3
+	{USB_DEVICE(0x045e, 0x00f7), BSF(SN9C105, OV7660, PDN_INV)},
Chuck Ebbert 57d9bc3
 	{USB_DEVICE(0x0471, 0x0327), BS(SN9C105, MI0360)},
Chuck Ebbert 57d9bc3
 	{USB_DEVICE(0x0471, 0x0328), BS(SN9C105, MI0360)},
Chuck Ebbert 57d9bc3
 	{USB_DEVICE(0x0471, 0x0330), BS(SN9C105, MI0360)},
Chuck Ebbert eda054e
From 615661f3948a066fd22a36fe8ea0c528b75ee373 Mon Sep 17 00:00:00 2001
Chuck Ebbert eda054e
From: Marcin Slusarz <marcin.slusarz@gmail.com>
Chuck Ebbert eda054e
Date: Sun, 22 Aug 2010 20:54:08 +0200
Chuck Ebbert eda054e
Subject: drm/nv50: initialize ramht_refs list for faked 0 channel
Chuck Ebbert eda054e
Chuck Ebbert eda054e
From: Marcin Slusarz <marcin.slusarz@gmail.com>
Chuck Ebbert eda054e
Chuck Ebbert eda054e
commit 615661f3948a066fd22a36fe8ea0c528b75ee373 upstream.
Chuck Ebbert eda054e
Chuck Ebbert eda054e
We need it for PFIFO_INTR_CACHE_ERROR interrupt handling,
Chuck Ebbert eda054e
because nouveau_fifo_swmthd looks for matching gpuobj in
Chuck Ebbert eda054e
ramht_refs list.
Chuck Ebbert eda054e
It fixes kernel panic in nouveau_gpuobj_ref_find.
Chuck Ebbert eda054e
Chuck Ebbert eda054e
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Chuck Ebbert eda054e
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Chuck Ebbert eda054e
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Chuck Ebbert eda054e
Chuck Ebbert eda054e
---
Chuck Ebbert eda054e
 drivers/gpu/drm/nouveau/nv50_instmem.c |    2 ++
Chuck Ebbert eda054e
 1 file changed, 2 insertions(+)
Chuck Ebbert eda054e
Chuck Ebbert eda054e
--- a/drivers/gpu/drm/nouveau/nv50_instmem.c
Chuck Ebbert eda054e
+++ b/drivers/gpu/drm/nouveau/nv50_instmem.c
Chuck Ebbert eda054e
@@ -141,6 +141,8 @@ nv50_instmem_init(struct drm_device *dev
Chuck Ebbert eda054e
 	chan->file_priv = (struct drm_file *)-2;
Chuck Ebbert eda054e
 	dev_priv->fifos[0] = dev_priv->fifos[127] = chan;
Chuck Ebbert eda054e
 
Chuck Ebbert eda054e
+	INIT_LIST_HEAD(&chan->ramht_refs);
Chuck Ebbert eda054e
+
Chuck Ebbert eda054e
 	/* Channel's PRAMIN object + heap */
Chuck Ebbert eda054e
 	ret = nouveau_gpuobj_new_fake(dev, 0, c_offset, c_size, 0,
Chuck Ebbert eda054e
 							NULL, &chan->ramin);
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
commit 6f1b1e1384b23cfab30c2bc02a8f94927274c10d
Kyle McMartin 3472dfd
Author: Geert Uytterhoeven <geert@linux-m68k.org>
Kyle McMartin 3472dfd
Date:   Sun Jan 16 10:09:13 2011 -0300
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
    radio-aimslab.c needs #include <linux/delay.h>
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    commit 2400982a2e8a8e4e95f0a0e1517bbe63cc88038f upstream.
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    Commit e3c92215198cb6aa00ad38db2780faa6b72e0a3f ("[media] radio-aimslab.c: Fix
Kyle McMartin 3472dfd
    gcc 4.5+ bug") removed the include, but introduced new callers of msleep():
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    | drivers/media/radio/radio-aimslab.c: In function ‘rt_decvol’:
Kyle McMartin 3472dfd
    | drivers/media/radio/radio-aimslab.c:76: error: implicit declaration of function ‘msleep’
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Kyle McMartin 3472dfd
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Kyle McMartin 3472dfd
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
Kyle McMartin 3472dfd
    Cc: dann frazier <dannf@debian.org>
Kyle McMartin 3472dfd
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
diff --git a/drivers/media/radio/radio-aimslab.c b/drivers/media/radio/radio-aimslab.c
Kyle McMartin 3472dfd
index 1944814..a91642c 100644
Kyle McMartin 3472dfd
--- a/drivers/media/radio/radio-aimslab.c
Kyle McMartin 3472dfd
+++ b/drivers/media/radio/radio-aimslab.c
Kyle McMartin 3472dfd
@@ -31,6 +31,7 @@
Kyle McMartin 3472dfd
 #include <linux/module.h>	/* Modules 			*/
Kyle McMartin 3472dfd
 #include <linux/init.h>		/* Initdata			*/
Kyle McMartin 3472dfd
 #include <linux/ioport.h>	/* request_region		*/
Kyle McMartin 3472dfd
+#include <linux/delay.h>	/* msleep			*/
Kyle McMartin 3472dfd
 #include <linux/videodev2.h>	/* kernel radio structs		*/
Kyle McMartin 3472dfd
 #include <linux/version.h>	/* for KERNEL_VERSION MACRO	*/
Kyle McMartin 3472dfd
 #include <linux/io.h>		/* outb, outb_p			*/
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
commit 9c198dad83c19a05a11b5a195242f3e8dcbe55f4
Kyle McMartin 3472dfd
Author: Mauro Carvalho Chehab <mchehab@redhat.com>
Kyle McMartin 3472dfd
Date:   Thu Jan 6 08:16:04 2011 -0200
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
    radio-aimslab.c: Fix gcc 4.5+ bug
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    commit e3c92215198cb6aa00ad38db2780faa6b72e0a3f upstream.
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    gcc 4.5+ doesn't properly evaluate some inlined expressions.
Kyle McMartin 3472dfd
    A previous patch were proposed by Andrew Morton using noinline.
Kyle McMartin 3472dfd
    However, the entire inlined function is bogus, so let's just
Kyle McMartin 3472dfd
    remove it and be happy.
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    Reported-by: Andrew Morton <akpm@linux-foundation.org>
Kyle McMartin 3472dfd
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Kyle McMartin 3472dfd
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kyle McMartin 3472dfd
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
diff --git a/drivers/media/radio/radio-aimslab.c b/drivers/media/radio/radio-aimslab.c
Kyle McMartin 3472dfd
index 5bf4985..1944814 100644
Kyle McMartin 3472dfd
--- a/drivers/media/radio/radio-aimslab.c
Kyle McMartin 3472dfd
+++ b/drivers/media/radio/radio-aimslab.c
Kyle McMartin 3472dfd
@@ -31,7 +31,6 @@
Kyle McMartin 3472dfd
 #include <linux/module.h>	/* Modules 			*/
Kyle McMartin 3472dfd
 #include <linux/init.h>		/* Initdata			*/
Kyle McMartin 3472dfd
 #include <linux/ioport.h>	/* request_region		*/
Kyle McMartin 3472dfd
-#include <linux/delay.h>	/* udelay			*/
Kyle McMartin 3472dfd
 #include <linux/videodev2.h>	/* kernel radio structs		*/
Kyle McMartin 3472dfd
 #include <linux/version.h>	/* for KERNEL_VERSION MACRO	*/
Kyle McMartin 3472dfd
 #include <linux/io.h>		/* outb, outb_p			*/
Kyle McMartin 3472dfd
@@ -71,27 +70,17 @@ static struct rtrack rtrack_card;
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
 /* local things */
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
-static void sleep_delay(long n)
Kyle McMartin 3472dfd
-{
Kyle McMartin 3472dfd
-	/* Sleep nicely for 'n' uS */
Kyle McMartin 3472dfd
-	int d = n / msecs_to_jiffies(1000);
Kyle McMartin 3472dfd
-	if (!d)
Kyle McMartin 3472dfd
-		udelay(n);
Kyle McMartin 3472dfd
-	else
Kyle McMartin 3472dfd
-		msleep(jiffies_to_msecs(d));
Kyle McMartin 3472dfd
-}
Kyle McMartin 3472dfd
-
Kyle McMartin 3472dfd
 static void rt_decvol(struct rtrack *rt)
Kyle McMartin 3472dfd
 {
Kyle McMartin 3472dfd
 	outb(0x58, rt->io);		/* volume down + sigstr + on	*/
Kyle McMartin 3472dfd
-	sleep_delay(100000);
Kyle McMartin 3472dfd
+	msleep(100);
Kyle McMartin 3472dfd
 	outb(0xd8, rt->io);		/* volume steady + sigstr + on	*/
Kyle McMartin 3472dfd
 }
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
 static void rt_incvol(struct rtrack *rt)
Kyle McMartin 3472dfd
 {
Kyle McMartin 3472dfd
 	outb(0x98, rt->io);		/* volume up + sigstr + on	*/
Kyle McMartin 3472dfd
-	sleep_delay(100000);
Kyle McMartin 3472dfd
+	msleep(100);
Kyle McMartin 3472dfd
 	outb(0xd8, rt->io);		/* volume steady + sigstr + on	*/
Kyle McMartin 3472dfd
 }
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
@@ -120,7 +109,7 @@ static int rt_setvol(struct rtrack *rt, int vol)
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
 	if (vol == 0) {			/* volume = 0 means mute the card */
Kyle McMartin 3472dfd
 		outb(0x48, rt->io);	/* volume down but still "on"	*/
Kyle McMartin 3472dfd
-		sleep_delay(2000000);	/* make sure it's totally down	*/
Kyle McMartin 3472dfd
+		msleep(2000);	/* make sure it's totally down	*/
Kyle McMartin 3472dfd
 		outb(0xd0, rt->io);	/* volume steady, off		*/
Kyle McMartin 3472dfd
 		rt->curvol = 0;		/* track the volume state!	*/
Kyle McMartin 3472dfd
 		mutex_unlock(&rt->lock);
Kyle McMartin 3472dfd
@@ -155,7 +144,7 @@ static void send_0_byte(struct rtrack *rt)
Kyle McMartin 3472dfd
 		outb_p(128+64+16+8+  1, rt->io);  /* on + wr-enable + data low */
Kyle McMartin 3472dfd
 		outb_p(128+64+16+8+2+1, rt->io);  /* clock */
Kyle McMartin 3472dfd
 	}
Kyle McMartin 3472dfd
-	sleep_delay(1000);
Kyle McMartin 3472dfd
+	msleep(1);
Kyle McMartin 3472dfd
 }
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
 static void send_1_byte(struct rtrack *rt)
Kyle McMartin 3472dfd
@@ -169,7 +158,7 @@ static void send_1_byte(struct rtrack *rt)
Kyle McMartin 3472dfd
 		outb_p(128+64+16+8+4+2+1, rt->io); /* clock */
Kyle McMartin 3472dfd
 	}
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
-	sleep_delay(1000);
Kyle McMartin 3472dfd
+	msleep(1);
Kyle McMartin 3472dfd
 }
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
 static int rt_setfreq(struct rtrack *rt, unsigned long freq)
Kyle McMartin 3472dfd
@@ -427,7 +416,7 @@ static int __init rtrack_init(void)
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
 	/* this ensures that the volume is all the way down  */
Kyle McMartin 3472dfd
 	outb(0x48, rt->io);		/* volume down but still "on"	*/
Kyle McMartin 3472dfd
-	sleep_delay(2000000);	/* make sure it's totally down	*/
Kyle McMartin 3472dfd
+	msleep(2000);	/* make sure it's totally down	*/
Kyle McMartin 3472dfd
 	outb(0xc0, rt->io);		/* steady volume, mute card	*/
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
 	return 0;
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
commit 515884e98dc4f1c99387000d420394c3bc47c0d7
Kyle McMartin 3472dfd
Author: Dan Carpenter <error27@gmail.com>
Kyle McMartin 3472dfd
Date:   Fri Jan 7 16:41:54 2011 -0300
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
    av7110: check for negative array offset
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    commit cb26a24ee9706473f31d34cc259f4dcf45cd0644 upstream.
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    info->num comes from the user.  It's type int.  If the user passes
Kyle McMartin 3472dfd
    in a negative value that would cause memory corruption.
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    Signed-off-by: Dan Carpenter <error27@gmail.com>
Kyle McMartin 3472dfd
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Kyle McMartin 3472dfd
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kyle McMartin 3472dfd
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
diff --git a/drivers/media/dvb/ttpci/av7110_ca.c b/drivers/media/dvb/ttpci/av7110_ca.c
Kyle McMartin 3472dfd
index 4eba35a..c38dd67 100644
Kyle McMartin 3472dfd
--- a/drivers/media/dvb/ttpci/av7110_ca.c
Kyle McMartin 3472dfd
+++ b/drivers/media/dvb/ttpci/av7110_ca.c
Kyle McMartin 3472dfd
@@ -277,7 +277,7 @@ static int dvb_ca_ioctl(struct file *file, unsigned int cmd, void *parg)
Kyle McMartin 3472dfd
 	{
Kyle McMartin 3472dfd
 		ca_slot_info_t *info=(ca_slot_info_t *)parg;
Kyle McMartin 3472dfd
 
Kyle McMartin 3472dfd
-		if (info->num > 1)
Kyle McMartin 3472dfd
+		if (info->num < 0 || info->num > 1)
Kyle McMartin 3472dfd
 			return -EINVAL;
Kyle McMartin 3472dfd
 		av7110->ci_slot[info->num].num = info->num;
Kyle McMartin 3472dfd
 		av7110->ci_slot[info->num].type = FW_CI_LL_SUPPORT(av7110->arm_app) ?
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
commit 9e5ad61f8d81da0b58535ac2cf60d36e26ca567a
Kyle McMartin 3472dfd
Author: Mauro Carvalho Chehab <mchehab@redhat.com>
Kyle McMartin 3472dfd
Date:   Mon Oct 25 17:51:15 2010 -0300
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
    em28xx: Fix audio input for Terratec Grabby
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    commit a3fa904ec79b94f0db7faed010ff94d42f7d1d47 upstream.
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    The audio input line was wrong. Fix it.
Kyle McMartin 3472dfd
    
Kyle McMartin 3472dfd
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Kyle McMartin 3472dfd
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kyle McMartin 3472dfd
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
Kyle McMartin 3472dfd
Kyle McMartin 3472dfd
diff --git a/drivers/media/video/em28xx/em28xx-cards.c b/drivers/media/video/em28xx/em28xx-cards.c
Kyle McMartin 3472dfd
index 3a4fd85..2fa5bb4 100644
Kyle McMartin 3472dfd
--- a/drivers/media/video/em28xx/em28xx-cards.c
Kyle McMartin 3472dfd
+++ b/drivers/media/video/em28xx/em28xx-cards.c
Kyle McMartin 3472dfd
@@ -1605,11 +1605,11 @@ struct em28xx_board em28xx_boards[] = {
Kyle McMartin 3472dfd
 		.input           = { {
Kyle McMartin 3472dfd
 			.type     = EM28XX_VMUX_COMPOSITE1,
Kyle McMartin 3472dfd
 			.vmux     = SAA7115_COMPOSITE0,
Kyle McMartin 3472dfd
-			.amux     = EM28XX_AMUX_VIDEO2,
Kyle McMartin 3472dfd
+			.amux     = EM28XX_AMUX_LINE_IN,
Kyle McMartin 3472dfd
 		}, {
Kyle McMartin 3472dfd
 			.type     = EM28XX_VMUX_SVIDEO,
Kyle McMartin 3472dfd
 			.vmux     = SAA7115_SVIDEO3,
Kyle McMartin 3472dfd
-			.amux     = EM28XX_AMUX_VIDEO2,
Kyle McMartin 3472dfd
+			.amux     = EM28XX_AMUX_LINE_IN,
Kyle McMartin 3472dfd
 		} },
Kyle McMartin 3472dfd
 	},
Kyle McMartin 3472dfd
 	[EM2860_BOARD_TERRATEC_AV350] = {