Re: Gigabyte U8000-RH USB stick oops kernel

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

 



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

-- 
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

[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