On Mon, Sep 21, 2009 at 3:58 PM, MarSarK <martin@xxxxxxxxxxxxxxxxx> wrote: > Dne Po 21. září 2009 21:47:04 jste napsal(a): > On Mon, Sep 21, 2009 at 3:34 > PM, MarSarK <martin@xxxxxxxxxxxxxxxxx> wrote: >> > hi, my brand new Gigabyte U8000-RG USB tv oops kernel. >> > >> > I have tried kernels from 2.6.27 to 2.6.31 everytime with same result >> > (also at my notebook). >> > >> > uname -a: >> > Linux vertigo 2.6.31-gentoo #2 SMP PREEMPT Mon Sep 14 20:20:59 CEST 2009 >> > i686 Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz GenuineIntel GNU/Linux >> > >> > lsusb: >> > Bus 001 Device 005: ID 1044:7002 Chu Yuen Enterprise Co., Ltd >> > >> > This output is from 2.6.31 kernel and last mercurial snapshot of linuxtv >> > tree. Error occure when I try to scan channels in Kaffeine. >> > >> > dmesg: >> > usb 1-4: configuration #1 chosen from 1 choice >> > dib0700: loaded with support for 13 different device-types >> > dvb-usb: found a 'Gigabyte U8000-RH' in cold state, will try to load a >> > firmware usb 1-4: firmware: requesting dvb-usb-dib0700-1.20.fw >> > dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw' >> > dib0700: firmware started successfully. >> > dvb-usb: found a 'Gigabyte U8000-RH' in warm state. >> > dvb-usb: will pass the complete MPEG2 transport stream to the software >> > demuxer. >> > DVB: registering new adapter (Gigabyte U8000-RH) >> > DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)... >> > xc2028 4-0061: creating new instance >> > xc2028 4-0061: type set to XCeive xc2028/xc3028 tuner >> > input: IR-receiver inside an USB DVB receiver as >> > /devices/pci0000:00/0000:00:1a.7/usb1/1-4/input/input4 >> > dvb-usb: schedule remote query interval to 50 msecs. >> > dvb-usb: Gigabyte U8000-RH successfully initialized and connected. >> > usbcore: registered new interface driver dvb_usb_dib0700 >> > BUG: unable to handle kernel NULL pointer dereference at 00000008 >> > IP: [<c11f99f3>] _request_firmware+0x3e3/0x440 >> > *pde = 00000000 >> > Oops: 0000 [#1] PREEMPT SMP >> > last sysfs file: /sys/devices/pci0000:00/0000:00:1a.7/usb1/1-4/idProduct >> > Modules linked in: tuner_xc2028 dvb_usb_dib0700 dib7000p dib7000m dib0070 >> > dvb_usb dib3000mc dib8000 dibx000_common dvb_core nvidia(P) asus_atk0110 >> > coretemp sco rfcomm l2cap fuse usb_storage vboxnetadp vboxnetflt vboxdrv >> > >> > Pid: 9533, comm: kdvb-ad-0-fe-0 Tainted: P (2.6.31-gentoo #2) >> > P5Q DELUXE >> > EIP: 0060:[<c11f99f3>] EFLAGS: 00010202 CPU: 0 >> > EIP is at _request_firmware+0x3e3/0x440 >> > EAX: 00000000 EBX: f62f5300 ECX: 00000000 EDX: f4933e54 >> > ESI: c1438ab0 EDI: f4999720 EBP: f62f5300 ESP: f4933d34 >> > DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 >> > Process kdvb-ad-0-fe-0 (pid: 9533, ti=f4932000 task=f4aa6cb0 >> > task.ti=f4932000) Stack: >> > f4933d88 00000000 00000000 e8024090 00000000 f4933e54 e8024098 f62f5300 >> > <0> f67f3000 00000000 f62f5300 c11f9adf 00000001 f89d3107 c12550b0 >> > 00069400 <0> 00000000 00000000 00000003 80000400 f4949400 00000006 >> > 00000006 00000006 Call Trace: >> > [<c11f9adf>] ? request_firmware+0xf/0x20 >> > [<f89d3107>] ? generic_set_freq+0xc87/0x1c70 [tuner_xc2028] >> > [<c12550b0>] ? usb_control_msg+0xe0/0x100 >> > [<f8880807>] ? dib0700_i2c_xfer+0x157/0x4d0 [dvb_usb_dib0700] >> > [<c127922b>] ? i2c_transfer+0xab/0xd0 >> > [<c127922b>] ? i2c_transfer+0xab/0xd0 >> > [<f8867068>] ? dib7000p_write_word+0x58/0x70 [dib7000p] >> > [<f89d4456>] ? xc2028_set_params+0x146/0x260 [tuner_xc2028] >> > [<f88684a6>] ? dib7000p_set_frontend+0x56/0xfb0 [dib7000p] >> > [<c10269f7>] ? finish_task_switch+0xa7/0xf0 >> > [<c1367f57>] ? schedule+0x317/0x8f0 >> > [<c1035537>] ? lock_timer_base+0x27/0x60 >> > [<f8842c41>] ? dvb_frontend_swzigzag_autotune+0xc1/0x270 [dvb_core] >> > [<c1035831>] ? del_timer_sync+0x11/0x20 >> > [<c13687b6>] ? schedule_timeout+0xe6/0x150 >> > [<c10280ad>] ? try_to_wake_up+0x8d/0x1a0 >> > [<f8843719>] ? dvb_frontend_swzigzag+0x189/0x2a0 [dvb_core] >> > [<f8843fb7>] ? dvb_frontend_thread+0x3b7/0x650 [dvb_core] >> > [<c103fbb0>] ? autoremove_wake_function+0x0/0x50 >> > [<f8843c00>] ? dvb_frontend_thread+0x0/0x650 [dvb_core] >> > [<c103f8c4>] ? kthread+0x84/0x90 >> > [<c103f840>] ? kthread+0x0/0x90 >> > [<c10039df>] ? kernel_thread_helper+0x7/0x18 >> > Code: d0 e8 02 7a ff ff 89 5c 24 08 c7 44 24 0c a0 c4 38 c1 89 44 24 04 >> > c7 04 24 52 e6 40 c1 e8 7f df 16 00 e9 2e ff ff ff 8b 44 24 10 <8b> 58 08 >> > e8 d5 79 ff ff 89 7c 24 0c 89 5c 24 08 89 44 24 04 c7 >> > EIP: [<c11f99f3>] _request_firmware+0x3e3/0x440 SS:ESP 0068:f4933d34 >> > CR2: 0000000000000008 >> > ---[ end trace 3f52e895d964749e ]--- >> > >> > >> > Martin >> >> Heh, I know what that is. It was a result of a change to the >> request_firmware() implementation where they actually started >> dereferencing the first argument (and the i2c slave in the dib7000 >> isn't setting the pointer). I ran into it when doing the PCTV 340e >> work >> >> You'll need something comparable to this patch: >> >> http://www.kernellabs.com/hg/~dheitmueller/pctv-340e/rev/ba97460d2b3e >> >> My patch is just a workaround (which is why I had not submitted it >> upstream) - we really need to fix the bridge driver to do the work >> properly. >> >> Devin >> > > Thanks for quick answer. Yes, I added that single line and it works for me. > Martin > Martin, If you want to send me the patch with your SOB, I will push a patch upstream that at least fixes the regression. The "right" fix can come later. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html