<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">I agree too...&nbsp; I tested out both patches Mauro and trents patches.&nbsp;&nbsp; I did not get any ops, and tested the patches for about three hours.&nbsp;&nbsp;&nbsp; I did not have the device removed, so I would assume it the dummy device definition that's causing the problem.<br><br>I vote that we should get rid of the dummy device.&nbsp;&nbsp; It's always caused a great deal of headaches.&nbsp;&nbsp; We should probably set it up like the saa7134 devices.<br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: Thierry MERLE &lt;thierry.merle@free.fr&gt;<br>To: Mauro Carvalho Chehab &lt;mchehab@infradead.org&gt;<br>Cc: Dwaine Garden
 &lt;dwainegarden@rogers.com&gt;; Linux and Kernel Video &lt;video4linux-list@redhat.com&gt;; Linux DVB &lt;linux-dvb@linuxtv.org&gt;<br>Sent: Saturday, April 14, 2007 1:26:19 PM<br>Subject: [linux-dvb] Re: [Patch] USBVision - Fix NT1005 Bridge detection<br><br><div><br><br>Mauro Carvalho Chehab a écrit :<br>&gt; Hi Dwaine and Thierry,<br>&gt;<br>&gt;<br>&gt; The patch seems to be ok. However, it is not nice to do this:<br>&gt;<br>&gt;&nbsp;&nbsp; <br>&gt;&gt; +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((!strcmp(usbvision_device_data[model].ModelString, "Dazzle<br>&gt;&gt; Fusion Model DVC-90 Rev 1 (SECAM)")) &amp;&amp;<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; <br>&gt;<br>&gt; Since, if for some reason, people decide to change the comment at<br>&gt; usbvision-cards, it will break the above code. Instead, it is better to<br>&gt; create a code for each board and for its value. <br>&gt;<br>&gt; I've did such change on:<br>&gt; &nbsp;&nbsp;&nbsp;&nbsp;<a target="_blank"
 href="http://linuxtv.org/hg/%7Emchehab/usbvision">http://linuxtv.org/hg/~mchehab/usbvision</a><br>&gt;<br>&gt; It also honors CodingStyle max line size.<br>&gt;<br>&gt; I've also removed some duplicated stuff (ID Vendor/Product) and changed<br>&gt; some flags to use bitmap. As result, It saved about 1K of kernelspace<br>&gt; area.<br>&gt;<br>&gt; I also noticed that the same name string were used for more than one<br>&gt; board. So, I've added a number for the duplicated names to avoid having<br>&gt; the same name for two different boards. It would be better, however, to<br>&gt; replace the duplicated definitions to a proper one, or to merge the<br>&gt; entries, if they are just referring to the same board.<br>&gt;<br>&gt; May you test it and comment? <br>&gt;<br>&gt;&nbsp;&nbsp; <br>Acked-by: Thierry MERLE &lt;thierry.merle@free.fr&gt;<br>I agree totally with this simplification.<br><br>I am currently debugging the Trent's patch that makes a kernel oops and <br>I don't
 know why.<br>The usbvision_probe is called event if the device is not plugged, and <br>the kernel oops occurs on this piece of code:<br>&nbsp;&nbsp;&nbsp;&nbsp;model = devid-&gt;driver_info;<br>&nbsp;&nbsp;&nbsp;&nbsp;printk(KERN_INFO "%s: %s found\n", __FUNCTION__,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;usbvision_device_data[model].ModelString);<br><br>Memory alignment problem ? Why this probe is called even if there is no <br>device plugged-in ?<br>By putting something like:<br>&nbsp;&nbsp;&nbsp;&nbsp;model = devid-&gt;driver_info;<br>&nbsp;&nbsp;&nbsp;&nbsp;if(model&lt;0 || model &gt;HPG_WINTV) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printk(KERN_INFO "model out of bounds %d\n",model);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -ENODEV;<br>&nbsp;&nbsp;&nbsp;&nbsp;} else printk(KERN_INFO "model is %d\n",model);<br><br>The problem disappeared...<br><br>Regards,<br>Thierry<br><br>Apr 14
 18:17:10 localhost kernel: BUG: unable to handle kernel paging <br>request at virtual address 0917ab30<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;printing eip:<br>Apr 14 18:17:10 localhost kernel: c01d837b<br>Apr 14 18:17:10 localhost kernel: *pde = 00000000<br>Apr 14 18:17:10 localhost kernel: Oops: 0000 [#1]<br>Apr 14 18:17:10 localhost kernel: Modules linked in: usbvision videodev <br>tuner v4l2_common snd_pcm_oss snd_mixer_oss cpufreq_conservative <br>cinergyT2 dvb_core<br>mga drm ns558 analog joydev nvidia(P) snd_hda_intel snd_hda_codec <br>snd_pcm snd_timer snd snd_page_alloc<br>Apr 14 18:17:10 localhost kernel: CPU:&nbsp;&nbsp;&nbsp;&nbsp;0<br>Apr 14 18:17:10 localhost kernel: EIP:&nbsp;&nbsp;&nbsp;&nbsp;0060:[&lt;c01d837b&gt;]&nbsp;&nbsp;&nbsp;&nbsp;Tainted: <br>P&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VLI<br>Apr 14 18:17:10 localhost kernel: EFLAGS: 00210097&nbsp;&nbsp; (2.6.21-rc6 #7)<br>Apr 14 18:17:10 localhost kernel: EIP is at vsnprintf+0x2d1/0x4d3<br>Apr
 14 18:17:10 localhost kernel: eax: 0917ab30&nbsp;&nbsp; ebx: c03f01b4&nbsp;&nbsp; ecx: <br>0917ab30&nbsp;&nbsp; edx: fffffffe<br>Apr 14 18:17:10 localhost kernel: esi: c75ebe7c&nbsp;&nbsp; edi: 0000000a&nbsp;&nbsp; ebp: <br>ffffffff&nbsp;&nbsp; esp: c75ebd98<br>Apr 14 18:17:10 localhost kernel: ds: 007b&nbsp;&nbsp; es: 007b&nbsp;&nbsp; fs: 00d8&nbsp;&nbsp;gs: <br>0033&nbsp;&nbsp;ss: 0068<br>Apr 14 18:17:10 localhost kernel: Process modprobe (pid: 4759, <br>ti=c75ea000 task=e24e6520 task.ti=c75ea000)<br>Apr 14 18:17:10 localhost kernel: Stack: e7dde000 ead775e0 584da500 <br>ead775e0 c03ef3e0 ead775e0 ffffffff ffffffff<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;00000000 c03f05a0 00000400 <br>c03f01a0 ed0edf6f 00000400 eb9c6400 c03f01a0<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ea412fa0 c01d858f c75ebe74 <br>e49c9b70 c0117ec8 c75ebe74 ebc3fc18 00000001<br>Apr 14 18:17:10 localhost kernel: Call
 Trace:<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c01d858f&gt;] vscnprintf+0x12/0x1d<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c0117ec8&gt;] vprintk+0x4d/0x1f3<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c0177830&gt;] __sysfs_new_dirent+0x12/0x40<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c017791a&gt;] <br>__sysfs_make_dirent+0x11/0x6c<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c0117e78&gt;] printk+0x16/0x19<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;ed0eaa40&gt;] <br>usbvision_probe+0x9a/0x3f6 [usbvision]<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c02665e2&gt;] <br>usb_probe_interface+0x66/0x88<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c022fc9c&gt;] really_probe+0x9c/0x12e<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c0266893&gt;] usb_match_id+0x34/0x42<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c022fde0&gt;] <br>driver_probe_device+0xa3/0xaf<br>Apr 14 18:17:10 localhost
 kernel:&nbsp;&nbsp;[&lt;c02e78f6&gt;] klist_next+0x48/0x6e<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c022fe52&gt;] __driver_attach+0x0/0x75<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c022fe96&gt;] __driver_attach+0x44/0x75<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c022f304&gt;] bus_for_each_dev+0x35/0x59<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c022fedb&gt;] driver_attach+0x14/0x16<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c022fe52&gt;] __driver_attach+0x0/0x75<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c022f748&gt;] bus_add_driver+0x5a/0xe0<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c0266cc1&gt;] <br>usb_register_driver+0x65/0xb8<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;eca5b11b&gt;] <br>usbvision_init+0x11b/0x161 [usbvision]<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c012f0b7&gt;] sys_init_module+0x89/0x133<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;[&lt;c0103ac0&gt;]
 syscall_call+0x7/0xb<br>Apr 14 18:17:10 localhost kernel:&nbsp;&nbsp;=======================<br>Apr 14 18:17:10 localhost kernel: Code: 01 00 00 3b 5c 24 24 73 f0 c6 03 <br>20 eb eb 89 f0 83 c6 04 8b 54 24 1c 8b 08 b8 c2 f7 34 c0 81 f9 ff 0f 00 <br>00 0f 46 c8 89 c8 eb 06 &lt;80&gt; 38 00 74 07 40 4a 83 fa ff 75 f4 29 c8 f6 <br>44 24 20 10 89 c7<br>Apr 14 18:17:10 localhost kernel: EIP: [&lt;c01d837b&gt;] <br>vsnprintf+0x2d1/0x4d3 SS:ESP 0068:c75ebd98<br><br><br>_______________________________________________<br>linux-dvb mailing list<br>linux-dvb@linuxtv.org<br><a target="_blank" href="http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb">http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb</a><br></div></div><br></div></div></body></html>