]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
2.6.19.7 release v2.6.19.7
authorGreg Kroah-Hartman <gregkh@suse.de>
Sat, 3 Mar 2007 05:45:42 +0000 (21:45 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 3 Mar 2007 05:45:42 +0000 (21:45 -0800)
releases/2.6.19.7/DVB-cxusb-fix-firmware-patch-for-big-endian-systems.patch [new file with mode: 0644]
releases/2.6.19.7/DVB-digitv-open-nxt6000-i2c_gate-for-TDED4-tuner-handling.patch [new file with mode: 0644]
releases/2.6.19.7/dvbdev-fix-illegal-re-usage-of-fileoperations-struct.patch [new file with mode: 0644]
releases/2.6.19.7/series [new file with mode: 0644]

diff --git a/releases/2.6.19.7/DVB-cxusb-fix-firmware-patch-for-big-endian-systems.patch b/releases/2.6.19.7/DVB-cxusb-fix-firmware-patch-for-big-endian-systems.patch
new file mode 100644 (file)
index 0000000..334e040
--- /dev/null
@@ -0,0 +1,32 @@
+From 5450633199aea4868252193f7421369381150851 Mon Sep 17 00:00:00 2001
+From: Jin-Bong lee <jinbong.lee@samsung.com>
+Date: Tue, 27 Feb 2007 14:52:17 -0500
+Subject: [PATCH] DVB: cxusb: fix firmware patch for big endian systems
+
+From: Jin-Bong lee <jinbong.lee@samsung.com>
+
+Without this patch, the device will not be detected after firmware download
+on big endian systems.
+
+Signed-off-by: Jin-Bong lee <jinbong.lee@samsung.com>
+Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/media/dvb/dvb-usb/cxusb.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- linux-2.6.19.6.orig/drivers/media/dvb/dvb-usb/cxusb.c
++++ linux-2.6.19.6/drivers/media/dvb/dvb-usb/cxusb.c
+@@ -471,8 +471,8 @@ static int bluebird_patch_dvico_firmware
+       if (fw->data[BLUEBIRD_01_ID_OFFSET] == (USB_VID_DVICO & 0xff) &&
+           fw->data[BLUEBIRD_01_ID_OFFSET + 1] == USB_VID_DVICO >> 8) {
+-              fw->data[BLUEBIRD_01_ID_OFFSET + 2] = udev->descriptor.idProduct + 1;
+-              fw->data[BLUEBIRD_01_ID_OFFSET + 3] = udev->descriptor.idProduct >> 8;
++              fw->data[BLUEBIRD_01_ID_OFFSET + 2] = le16_to_cpu(udev->descriptor.idProduct) + 1;
++              fw->data[BLUEBIRD_01_ID_OFFSET + 3] = le16_to_cpu(udev->descriptor.idProduct) >> 8;
+               return usb_cypress_load_firmware(udev,fw,CYPRESS_FX2);
+       }
diff --git a/releases/2.6.19.7/DVB-digitv-open-nxt6000-i2c_gate-for-TDED4-tuner-handling.patch b/releases/2.6.19.7/DVB-digitv-open-nxt6000-i2c_gate-for-TDED4-tuner-handling.patch
new file mode 100644 (file)
index 0000000..b6bb9f4
--- /dev/null
@@ -0,0 +1,31 @@
+From c322dff341a5bc83e4a26b7a98df72d33a37bdf3 Mon Sep 17 00:00:00 2001
+From: Michael Krufky <mkrufky@linuxtv.org>
+Date: Wed, 21 Feb 2007 21:47:15 -0300
+Subject: [PATCH] DVB: digitv: open nxt6000 i2c_gate for TDED4 tuner handling
+
+From: Michael Krufky <mkrufky@linuxtv.org>
+
+dvb-pll normally opens the i2c gate before attempting to communicate with
+the pll, but the code for this device is not using dvb-pll.  This should
+be cleaned up in the future, but for now, just open the i2c gate at the
+appropriate place in order to fix this driver bug.
+
+Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/media/dvb/dvb-usb/digitv.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- linux-2.6.19.6.orig/drivers/media/dvb/dvb-usb/digitv.c
++++ linux-2.6.19.6/drivers/media/dvb/dvb-usb/digitv.c
+@@ -119,6 +119,8 @@ static int digitv_nxt6000_tuner_set_para
+       struct dvb_usb_adapter *adap = fe->dvb->priv;
+       u8 b[5];
+       dvb_usb_tuner_calc_regs(fe,fep,b, 5);
++      if (fe->ops.i2c_gate_ctrl)
++              fe->ops.i2c_gate_ctrl(fe, 1);
+       return digitv_ctrl_msg(adap->dev, USB_WRITE_TUNER, 0, &b[1], 4, NULL, 0);
+ }
diff --git a/releases/2.6.19.7/dvbdev-fix-illegal-re-usage-of-fileoperations-struct.patch b/releases/2.6.19.7/dvbdev-fix-illegal-re-usage-of-fileoperations-struct.patch
new file mode 100644 (file)
index 0000000..9bb05bf
--- /dev/null
@@ -0,0 +1,67 @@
+From abe45bbc797fffe5ea892209b09da83d3e7a21f2 Mon Sep 17 00:00:00 2001
+From: Marcel Siegert <mws@linuxtv.org>
+Date: Tue, 27 Feb 2007 13:09:49 -0500
+Subject: [PATCH] dvbdev: fix illegal re-usage of fileoperations struct
+
+From: Marcel Siegert <mws@linuxtv.org>
+
+Arjan van de Ven <arjan@infradead.org> reported an illegal re-usage of
+the fileoperations struct if more than one dvb device (e.g. frontend) is
+present.
+
+This patch fixes this issue.
+
+It allocates a new fileoperations struct each time a device is
+registered and copies the default template fileops.
+
+Signed-off-by: Marcel Siegert <mws@linuxtv.org>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
+Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/media/dvb/dvb-core/dvbdev.c |   13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+--- linux-2.6.19.6.orig/drivers/media/dvb/dvb-core/dvbdev.c
++++ linux-2.6.19.6/drivers/media/dvb/dvb-core/dvbdev.c
+@@ -200,6 +200,8 @@ int dvb_register_device(struct dvb_adapt
+                       const struct dvb_device *template, void *priv, int type)
+ {
+       struct dvb_device *dvbdev;
++      struct file_operations *dvbdevfops;
++
+       int id;
+       if (mutex_lock_interruptible(&dvbdev_register_lock))
+@@ -219,12 +221,22 @@ int dvb_register_device(struct dvb_adapt
+               return -ENOMEM;
+       }
++      dvbdevfops = kzalloc(sizeof(struct file_operations), GFP_KERNEL);
++
++      if (!dvbdevfops) {
++              kfree (dvbdev);
++              mutex_unlock(&dvbdev_register_lock);
++              return -ENOMEM;
++      }
++
+       memcpy(dvbdev, template, sizeof(struct dvb_device));
+       dvbdev->type = type;
+       dvbdev->id = id;
+       dvbdev->adapter = adap;
+       dvbdev->priv = priv;
++      dvbdev->fops = dvbdevfops;
++      memcpy(dvbdev->fops, template->fops, sizeof(struct file_operations));
+       dvbdev->fops->owner = adap->module;
+       list_add_tail (&dvbdev->list_head, &adap->device_list);
+@@ -252,6 +264,7 @@ void dvb_unregister_device(struct dvb_de
+                                       dvbdev->type, dvbdev->id)));
+       list_del (&dvbdev->list_head);
++      kfree (dvbdev->fops);
+       kfree (dvbdev);
+ }
+ EXPORT_SYMBOL(dvb_unregister_device);
diff --git a/releases/2.6.19.7/series b/releases/2.6.19.7/series
new file mode 100644 (file)
index 0000000..a8cfe67
--- /dev/null
@@ -0,0 +1,3 @@
+dvbdev-fix-illegal-re-usage-of-fileoperations-struct.patch
+DVB-digitv-open-nxt6000-i2c_gate-for-TDED4-tuner-handling.patch
+DVB-cxusb-fix-firmware-patch-for-big-endian-systems.patch