* [PATCH 0/3] LinuxTV.org DVB+V4L fixes @ 2003-10-21 9:36 Michael Hunold 2003-10-21 9:36 ` [PATCH 1/3] Fix bugs in various DVB drivers Michael Hunold 0 siblings, 1 reply; 4+ messages in thread From: Michael Hunold @ 2003-10-21 9:36 UTC (permalink / raw) To: torvalds, linux-kernel Hi Linus, these 3 patches fix serious bugs found by users of 2.6.0-test8 in the drivers hosted by LinuxTV.org. As usual, detailed descriptions are at the beginning of each patch. Please apply. Thanks! Michael. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/3] Fix bugs in various DVB drivers 2003-10-21 9:36 [PATCH 0/3] LinuxTV.org DVB+V4L fixes Michael Hunold @ 2003-10-21 9:36 ` Michael Hunold 2003-10-21 9:36 ` [PATCH 2/3] Fix bug in saa7146 analog tv i2c-handling Michael Hunold 0 siblings, 1 reply; 4+ messages in thread From: Michael Hunold @ 2003-10-21 9:36 UTC (permalink / raw) To: torvalds, linux-kernel - [DVB] DVB networking uses big endian crc32, so change all occurences of crc32_le to crc32_be - [DVB] fix usage of firmware location Kconfig option in tda1004x frontend driver - [DVB] add missing VBI line decoding initialization to saa7113 code for av7110 driver - [DVB] make av7110 firmware static and *not* __initdata, so recover_arm() can work in case the driver is compiled in statically diff -u linux/drivers/media/dvb/dvb-core/dvb_demux.c:1.38 linux/drivers/media/dvb/dvb-core/dvb_demux.c:1.39 --- linux/drivers/media/dvb/dvb-core/dvb_demux.c:1.38 Mon Oct 13 02:34:51 2003 +++ linux/drivers/media/dvb/dvb-core/dvb_demux.c Thu Oct 16 10:36:58 2003 @@ -107,7 +107,7 @@ { u32 crc; - crc = crc32_le(~0, data, length); + crc = crc32_be(~0, data, length); data[length] = (crc >> 24) & 0xff; data[length+1] = (crc >> 16) & 0xff; @@ -118,7 +118,7 @@ static u32 dvb_dmx_crc32 (struct dvb_demux_feed *f, const u8 *src, size_t len) { - return (f->feed.sec.crc_val = crc32_le (f->feed.sec.crc_val, src, len)); + return (f->feed.sec.crc_val = crc32_be (f->feed.sec.crc_val, src, len)); } diff -u linux/drivers/media/dvb/frontends/tda1004x.c:1.7 linux/drivers/media/dvb/frontends/tda1004x.c:1.8 --- linux/drivers/media/dvb/frontends/tda1004x.c:1.7 Thu Oct 9 01:12:46 2003 +++ linux/drivers/media/dvb/frontends/tda1004x.c Thu Oct 16 10:40:02 2003 @@ -44,12 +44,12 @@ #include "dvb_frontend.h" #include "dvb_functions.h" -#ifndef CONFIG_TDA1004X_MC_LOCATION -#define CONFIG_TDA1004X_MC_LOCATION "/etc/dvb/tda1004x.mc" +#ifndef DVB_TDA1004X_FIRMWARE_FILE +#define DVB_TDA1004X_FIRMWARE_FILE "/etc/dvb/tda1004x.mc" #endif static int tda1004x_debug = 0; -static char *tda1004x_firmware = CONFIG_TDA1004X_MC_LOCATION; +static char *tda1004x_firmware = DVB_TDA1004X_FIRMWARE_FILE; #define TDA10045H_ADDRESS 0x08 diff -u linux/drivers/media/dvb/ttpci/av7110.c:1.90 linux/drivers/media/dvb/ttpci/av7110.c:1.91 --- linux/drivers/media/dvb/ttpci/av7110.c:1.90 Wed Oct 15 12:06:04 2003 +++ linux/drivers/media/dvb/ttpci/av7110.c Fri Oct 17 19:01:24 2003 @@ -4498,6 +4498,30 @@ 0x1d, 0x00, 0x1e, 0x00, + 0x41, 0x77, + 0x42, 0x77, + 0x43, 0x77, + 0x44, 0x77, + 0x45, 0x77, + 0x46, 0x77, + 0x47, 0x77, + 0x48, 0x77, + 0x49, 0x77, + 0x4a, 0x77, + 0x4b, 0x77, + 0x4c, 0x77, + 0x4d, 0x77, + 0x4e, 0x77, + 0x4f, 0x77, + 0x50, 0x77, + 0x51, 0x77, + 0x52, 0x77, + 0x53, 0x77, + 0x54, 0x77, + 0x55, 0x77, + 0x56, 0x77, + 0x57, 0xff, + 0xff }; diff -u linux/drivers/media/dvb/ttpci/av7110_firm.h:1.18 linux/drivers/media/dvb/ttpci/av7110_firm.h:1.19 --- linux/drivers/media/dvb/ttpci/av7110_firm.h:1.18 Mon Oct 13 19:46:23 2003 +++ linux/drivers/media/dvb/ttpci/av7110_firm.h Mon Oct 20 17:33:17 2003 @@ -1,7 +1,7 @@ #include <asm/types.h> -u8 Dpram [] __initdata = { +static u8 Dpram [] = { 0xe5, 0x9f, 0xf0, 0x1c, 0xe1, 0xb0, 0xf0, 0x0e, 0xe5, 0x9f, 0xf0, 0x18, 0xe2, 0x5e, 0xf0, 0x04, 0xe2, 0x5e, 0xf0, 0x08, 0xe1, 0xa0, 0x00, 0x00, @@ -41,7 +41,7 @@ }; -u8 Root [] __initdata = { +static u8 Root [] = { 0xb4, 0x90, 0x49, 0x18, 0x1c, 0x0b, 0x4a, 0x18, 0x1a, 0x50, 0x4f, 0x18, 0x1a, 0x79, 0x10, 0x8f, 0x21, 0x00, 0x2f, 0x00, 0xdd, 0x04, 0xcb, 0x10, ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/3] Fix bug in saa7146 analog tv i2c-handling 2003-10-21 9:36 ` [PATCH 1/3] Fix bugs in various DVB drivers Michael Hunold @ 2003-10-21 9:36 ` Michael Hunold 2003-10-21 9:36 ` [PATCH 3/3] Fix bugs in analog tv i2c-helper chipset drivers Michael Hunold 0 siblings, 1 reply; 4+ messages in thread From: Michael Hunold @ 2003-10-21 9:36 UTC (permalink / raw) To: torvalds, linux-kernel - [V4L] remove cruft, add I2C_ADAP_CLASS_TV_ANALOG identifier for analog tv i2c handler diff -ura xx-linux-2.6.0-test8/drivers/media/common/saa7146_i2c.c linux-2.6.0-test8-p/drivers/media/common/saa7146_i2c.c --- xx-linux-2.6.0-test8/drivers/media/common/saa7146_i2c.c 2003-10-09 10:39:08.000000000 +0200 +++ linux-2.6.0-test8-p/drivers/media/common/saa7146_i2c.c 2003-10-21 11:21:36.000000000 +0200 @@ -409,11 +409,8 @@ if( NULL != i2c_adapter ) { memset(i2c_adapter,0,sizeof(struct i2c_adapter)); strcpy(i2c_adapter->name, dev->name); -#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) - i2c_adapter->data = dev; -#else i2c_set_adapdata(i2c_adapter,dev); -#endif + i2c_adapter->class = I2C_ADAP_CLASS_TV_ANALOG; i2c_adapter->algo = &saa7146_algo; i2c_adapter->algo_data = NULL; i2c_adapter->id = I2C_ALGO_SAA7146; ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 3/3] Fix bugs in analog tv i2c-helper chipset drivers 2003-10-21 9:36 ` [PATCH 2/3] Fix bug in saa7146 analog tv i2c-handling Michael Hunold @ 2003-10-21 9:36 ` Michael Hunold 0 siblings, 0 replies; 4+ messages in thread From: Michael Hunold @ 2003-10-21 9:36 UTC (permalink / raw) To: torvalds, linux-kernel - [V4L] remove cruft, memset() i2c-client structures in tda9840, tea6420, tea6415c driver, otherwise i2c_register()/kobject() segfaults later on diff -ura xx-linux-2.6.0-test8/drivers/media/video/tda9840.c linux-2.6.0-test8-p/drivers/media/video/tda9840.c --- xx-linux-2.6.0-test8/drivers/media/video/tda9840.c 2003-09-10 11:28:54.000000000 +0200 +++ linux-2.6.0-test8-p/drivers/media/video/tda9840.c 2003-10-21 11:21:02.000000000 +0200 @@ -196,6 +196,7 @@ printk("tda9840.o: not enough kernel memory.\n"); return -ENOMEM; } + memset(client, 0, sizeof(struct i2c_client)); /* fill client structure */ sprintf(client->name,"tda9840 (0x%02x)", address); @@ -258,9 +259,7 @@ } static struct i2c_driver driver = { -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,54) .owner = THIS_MODULE, -#endif .name = "tda9840 driver", .id = I2C_DRIVERID_TDA9840, .flags = I2C_DF_NOTIFY, diff -ura xx-linux-2.6.0-test8/drivers/media/video/tea6415c.c linux-2.6.0-test8-p/drivers/media/video/tea6415c.c --- xx-linux-2.6.0-test8/drivers/media/video/tea6415c.c 2003-09-10 11:28:54.000000000 +0200 +++ linux-2.6.0-test8-p/drivers/media/video/tea6415c.c 2003-10-21 11:20:48.000000000 +0200 @@ -70,6 +70,7 @@ if (0 == client) { return -ENOMEM; } + memset(client, 0, sizeof(struct i2c_client)); /* fill client structure */ sprintf(client->name,"tea6415c (0x%02x)", address); @@ -207,9 +208,7 @@ } static struct i2c_driver driver = { -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,54) .owner = THIS_MODULE, -#endif .name = "tea6415c driver", .id = I2C_DRIVERID_TEA6415C, .flags = I2C_DF_NOTIFY, diff -ura xx-linux-2.6.0-test8/drivers/media/video/tea6420.c linux-2.6.0-test8-p/drivers/media/video/tea6420.c --- xx-linux-2.6.0-test8/drivers/media/video/tea6420.c 2003-09-10 11:28:54.000000000 +0200 +++ linux-2.6.0-test8-p/drivers/media/video/tea6420.c 2003-10-21 11:20:56.000000000 +0200 @@ -110,7 +110,8 @@ if (0 == client) { return -ENOMEM; } - + memset(client, 0x0, sizeof(struct i2c_client)); + /* fill client structure */ sprintf(client->name,"tea6420 (0x%02x)", address); client->id = tea6420_id++; @@ -187,9 +188,7 @@ } static struct i2c_driver driver = { -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,54) .owner = THIS_MODULE, -#endif .name = "tea6420 driver", .id = I2C_DRIVERID_TEA6420, .flags = I2C_DF_NOTIFY, ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-10-21 9:38 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2003-10-21 9:36 [PATCH 0/3] LinuxTV.org DVB+V4L fixes Michael Hunold 2003-10-21 9:36 ` [PATCH 1/3] Fix bugs in various DVB drivers Michael Hunold 2003-10-21 9:36 ` [PATCH 2/3] Fix bug in saa7146 analog tv i2c-handling Michael Hunold 2003-10-21 9:36 ` [PATCH 3/3] Fix bugs in analog tv i2c-helper chipset drivers Michael Hunold
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
Powered by JetHome