* Re: Fw: Oops when modprobing cx8800
[not found] <20040725183038.108ffd7c.akpm@osdl.org>
@ 2004-07-27 6:48 ` Gerd Knorr
0 siblings, 0 replies; only message in thread
From: Gerd Knorr @ 2004-07-27 6:48 UTC (permalink / raw)
To: Andrew Morton; +Cc: Frederik, linux-kernel
On Sun, Jul 25, 2004 at 06:30:38PM -0700, Andrew Morton wrote:
>
> hm, odd.
> Jul 21 15:30:21 athene kernel: [<c020a377>] vsprintf+0x27/0x30
> Jul 21 15:30:21 athene kernel: [<c020a39f>] sprintf+0x1f/0x30
> Jul 21 15:30:21 athene kernel: [<d0cc1078>] cx8800_initdev+0x78/0x7a0
The only bug I'm aware of which is still in 2.6.8-rc1+ and might be this
is that the card= insmod option lacks a range check (patch below), so
passing some insane high value might kill the driver. It shouldn't
happen with a simple "insmod cx88" + card autodetect through.
If it is something else -- no idea.
> (This driver should be using kthread for the kernel thread management btw)
Yup, and some other v4l drivers as well ...
Just didn't know kthread exists before OLS ;)
Gerd
diff -u -p -r1.27 -r1.28
--- cx88-video.c 22 Jul 2004 13:54:28 -0000 1.27
+++ cx88-video.c 23 Jul 2004 01:06:12 -0000 1.28
@@ -2382,7 +2382,9 @@ static int __devinit cx8800_initdev(stru
}
/* board config */
- dev->board = card[cx8800_devcount];
+ dev->board = UNSET;
+ if (card[cx8800_devcount] < cx88_bcount)
+ dev->board = card[cx8800_devcount];
for (i = 0; UNSET == dev->board && i < cx88_idcount; i++)
if (pci_dev->subsystem_vendor == cx88_subids[i].subvendor &&
pci_dev->subsystem_device == cx88_subids[i].subdevice)
^ permalink raw reply [flat|nested] only message in thread