Re: Fw: Oops at bttv_risc_packed (2.6.8-rc1)

From: Gerd Knorr
Date: Tue Aug 17 2004 - 09:43:30 EST


> DEBUG_PAGEALLOC

Hmm, amd64 hasn't this one?

> [pg0+543078197/1069322240] bttv_buffer_risc+0x4b5/0x5b0 [bttv]

Looks like the buffer for the risc instructions overflows. No idea why
through, the size calculation looks ok. Can you please apply the debug
patch below, load bttv with "bttv_debug=1" insmod option and try again?

What app triggers this btw, and which capture parameters (size, format)?

Gerd

Index: bttv-risc.c
===================================================================
RCS file: /home/cvsroot/video4linux/bttv-risc.c,v
retrieving revision 1.3
diff -u -p -r1.3 bttv-risc.c
--- bttv-risc.c 6 Jul 2004 07:52:17 -0000 1.3
+++ bttv-risc.c 17 Aug 2004 14:17:14 -0000
@@ -55,6 +55,8 @@ bttv_risc_packed(struct bttv *btv, struc
instructions += 2;
if ((rc = btcx_riscmem_alloc(btv->c.pci,risc,instructions*8)) < 0)
return rc;
+ dprintk("bttv%d: risc packed: bpl %d lines %d instr %d size %d ptr %p\n",
+ btv->c.nr, bpl, lines, instructions, risc->size, risc->cpu);

/* sync instruction */
rp = risc->cpu;
@@ -99,8 +101,10 @@ bttv_risc_packed(struct bttv *btv, struc
offset += todo;
}
offset += padding;
+ dprintk("bttv%d: risc packed: line %d ptr %p\n",
+ btv->c.nr, line, rp);
}
- dprintk("bttv%d: risc planar: %d sglist elems\n", btv->c.nr, (int)(sg-sglist));
+ dprintk("bttv%d: risc packed: %d sglist elems\n", btv->c.nr, (int)(sg-sglist));

/* save pointer to jmp instruction address */
risc->jmp = rp;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/