prof 7300

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I had some troubles with a prof 7300 dvb s-2 card.
I am running OpenSuse 11.2 with a recent hg copy of the v4l-dvb repository.
It was detected as a Hauppauge WinTV instead of a prof 7300.
After some runs with info_printk statements I found a problem in 
linux/drivers/media/video/cx88.c
As far as I can understand the code I would say card[core->nr] will always be 
smaller than ARRAY_SIZE(cx88_boards).
Therefore core->boardnr is never looked up from the cx88_subids array.
After I removed the check with ARRAY_SIZE the correct card is detected and I 
can watch tv with both my prof 7300 cards.
Can someone confirm if the patch I made is correct or explain what the purpose 
is of the ARRAY_SIZE check?


For search references:
I was getting this error in dmesg:
cx88[1]/2: dvb_register failed (err = -22)
cx88[1]/2: cx8802 probe failed, err = -22 

Regards,
Joep Admiraal
diff -r b76072d765c4 linux/drivers/media/video/cx88/cx88-cards.c
--- a/linux/drivers/media/video/cx88/cx88-cards.c	Tue Dec 29 18:48:04 2009 +0000
+++ b/linux/drivers/media/video/cx88/cx88-cards.c	Sat Jan 16 16:44:36 2010 +0100
@@ -3436,8 +3436,8 @@
 
 	/* board config */
 	core->boardnr = UNSET;
-	if (card[core->nr] < ARRAY_SIZE(cx88_boards))
-		core->boardnr = card[core->nr];
+	//if (card[core->nr] < ARRAY_SIZE(cx88_boards))
+	//	core->boardnr = card[core->nr];
 	for (i = 0; UNSET == core->boardnr && i < ARRAY_SIZE(cx88_subids); i++)
 		if (pci->subsystem_vendor == cx88_subids[i].subvendor &&
 		    pci->subsystem_device == cx88_subids[i].subdevice)

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux