]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/media/video/saa7111.c
V4L/DVB (3568d): saa7111.c fix
[linux-2.6-omap-h63xx.git] / drivers / media / video / saa7111.c
index 8c06592b37ff125a0f50fba400a01e64115f7e26..6bd1789c8f78074f0bc5104d59887ace33786657 100644 (file)
@@ -70,8 +70,10 @@ MODULE_PARM_DESC(debug, "Debug level (0-1)");
 
 /* ----------------------------------------------------------------------- */
 
+#define SAA7111_NR_REG         0x18
+
 struct saa7111 {
-       unsigned char reg[32];
+       unsigned char reg[SAA7111_NR_REG];
 
        int norm;
        int input;
@@ -210,6 +212,7 @@ saa7111_command (struct i2c_client *client,
        switch (cmd) {
 
        case 0:
+               break;
        case DECODER_INIT:
        {
                struct video_decoder_init *init = arg;
@@ -227,11 +230,11 @@ saa7111_command (struct i2c_client *client,
        {
                int i;
 
-               for (i = 0; i < 32; i += 16) {
+               for (i = 0; i < SAA7111_NR_REG; i += 16) {
                        int j;
 
                        printk(KERN_DEBUG "%s: %03x", I2C_NAME(client), i);
-                       for (j = 0; j < 16; ++j) {
+                       for (j = 0; j < 16 && i + j < SAA7111_NR_REG; ++j) {
                                printk(" %02x",
                                       saa7111_read(client, i + j));
                        }