]> git.hungrycats.org Git - linux/commitdiff
[PATCH] Fix bugs in various DVB drivers
authorMichael Hunold <hunold@linuxtv.org>
Tue, 21 Oct 2003 00:55:40 +0000 (17:55 -0700)
committerLinus Torvalds <torvalds@home.osdl.org>
Tue, 21 Oct 2003 00:55:40 +0000 (17:55 -0700)
 - DVB networking uses big endian crc32, so change all occurences of
   crc32_le to crc32_be
 - fix usage of firmware location Kconfig option in tda1004x frontend
   driver
 - add missing VBI line decoding initialization to saa7113 code for
   av7110 driver
 - make av7110 firmware static and *not* __initdata, so recover_arm()
   can work in case the driver is compiled in statically

drivers/media/dvb/dvb-core/dvb_demux.c
drivers/media/dvb/frontends/tda1004x.c
drivers/media/dvb/ttpci/av7110.c
drivers/media/dvb/ttpci/av7110_firm.h

index 24ef9fb730651c61251a9bc0e280cd459d77c2c8..e0181c00cc6800021b30b2f1f48a1382d75c45a6 100644 (file)
@@ -105,7 +105,7 @@ void dvb_set_crc32(u8 *data, int length)
 {
        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;
@@ -116,7 +116,7 @@ void dvb_set_crc32(u8 *data, int length)
 
 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));
 }
 
 
index bdcda54df4f1d0bd9cb58167a5c0bd2b270685ce..b16ceaf780076336a8d4b521d0f5a1eb9773389e 100644 (file)
 #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
index 63211afd820bb06f97b499e446d903a42108be3f..fce4501baab47e5639b74e95e0c23d4a1c36e91e 100644 (file)
@@ -4498,6 +4498,30 @@ static u8 saa7113_init_regs[] = {
        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
 };
 
index 8c69bb971831e67ea87fcfa6c94e8ae8376c585c..de96ccda11f48bab80d47b71c87b8c99341e9b9d 100644 (file)
@@ -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 Dpram [] __initdata = {
 };
 
 
-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,