public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 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

only message in thread, other threads:[~2004-07-27  7:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20040725183038.108ffd7c.akpm@osdl.org>
2004-07-27  6:48 ` Fw: Oops when modprobing cx8800 Gerd Knorr

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox