From: Greg Kroah-Hartman Date: Sat, 3 Mar 2007 05:45:42 +0000 (-0800) Subject: 2.6.19.7 release X-Git-Tag: v2.6.19.7^0 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=19c470c4484d5176d0c1b3086a75f5f82aa3273f;p=thirdparty%2Fkernel%2Fstable-queue.git 2.6.19.7 release --- 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 index 00000000000..334e040d751 --- /dev/null +++ b/releases/2.6.19.7/DVB-cxusb-fix-firmware-patch-for-big-endian-systems.patch @@ -0,0 +1,32 @@ +From 5450633199aea4868252193f7421369381150851 Mon Sep 17 00:00:00 2001 +From: Jin-Bong lee +Date: Tue, 27 Feb 2007 14:52:17 -0500 +Subject: [PATCH] DVB: cxusb: fix firmware patch for big endian systems + +From: Jin-Bong lee + +Without this patch, the device will not be detected after firmware download +on big endian systems. + +Signed-off-by: Jin-Bong lee +Signed-off-by: Michael Krufky +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..b6bb9f4c8fc --- /dev/null +++ b/releases/2.6.19.7/DVB-digitv-open-nxt6000-i2c_gate-for-TDED4-tuner-handling.patch @@ -0,0 +1,31 @@ +From c322dff341a5bc83e4a26b7a98df72d33a37bdf3 Mon Sep 17 00:00:00 2001 +From: Michael Krufky +Date: Wed, 21 Feb 2007 21:47:15 -0300 +Subject: [PATCH] DVB: digitv: open nxt6000 i2c_gate for TDED4 tuner handling + +From: Michael Krufky + +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 +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..9bb05bf1c4a --- /dev/null +++ b/releases/2.6.19.7/dvbdev-fix-illegal-re-usage-of-fileoperations-struct.patch @@ -0,0 +1,67 @@ +From abe45bbc797fffe5ea892209b09da83d3e7a21f2 Mon Sep 17 00:00:00 2001 +From: Marcel Siegert +Date: Tue, 27 Feb 2007 13:09:49 -0500 +Subject: [PATCH] dvbdev: fix illegal re-usage of fileoperations struct + +From: Marcel Siegert + +Arjan van de Ven 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 +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Michael Krufky +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..a8cfe67e526 --- /dev/null +++ b/releases/2.6.19.7/series @@ -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