Bug 13927 - kernel oops when trying to use gigabyte u8000 dvb dongle
Summary: kernel oops when trying to use gigabyte u8000 dvb dongle
Status: CLOSED CODE_FIX
Alias: None
Product: v4l-dvb
Classification: Unclassified
Component: dvb-usb (show other bugs)
Hardware: i386 Linux
: P1 normal
Assignee: dvb-usb
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-06 19:21 UTC by Tarvo
Modified: 2012-06-13 14:41 UTC (History)
5 users (show)

See Also:
Kernel Version: 2.6.31-5
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Firmware loading workaround patch (979 bytes, application/octet-stream)
2009-09-22 08:12 UTC, Martin Samek
Details

Description Tarvo 2009-08-06 19:21:05 UTC
works in 2.6.30 in 2.6.31rc5:
[  421.836106] usb 1-2: new high speed USB device using ehci_hcd and address 4
[  421.969067] usb 1-2: configuration #1 chosen from 1 choice
[  422.056455] dib0700: loaded with support for 9 different device-types
[  422.056705] dvb-usb: found a 'Gigabyte U8000-RH' in cold state, will try to load a firmware
[  422.056716] usb 1-2: firmware: requesting dvb-usb-dib0700-1.20.fw
[  422.069993] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
[  422.272921] dib0700: firmware started successfully.
[  422.776096] dvb-usb: found a 'Gigabyte U8000-RH' in warm state.
[  422.776193] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[  422.776477] DVB: registering new adapter (Gigabyte U8000-RH)
[  423.013923] DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...
[  423.038008] xc2028 3-0061: creating new instance
[  423.038017] xc2028 3-0061: type set to XCeive xc2028/xc3028 tuner
[  423.038187] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/input/input12
[  423.038277] dvb-usb: schedule remote query interval to 50 msecs.
[  423.038286] dvb-usb: Gigabyte U8000-RH successfully initialized and connected.
[  423.038473] usbcore: registered new interface driver dvb_usb_dib0700
[  448.945812] BUG: unable to handle kernel NULL pointer dereference at 00000008
[  448.945827] IP: [<c03a0813>] _request_firmware+0x1f3/0x250
[  448.945844] *pde = 34b09067 *pte = 00000000 
[  448.945852] Oops: 0000 [#1] SMP 
[  448.945860] last sysfs file: /sys/devices/pci0000:00/0000:00:1c.2/0000:01:00.0/ieee80211/phy0/rfkill1/state
[  448.945868] Modules linked in: tuner_xc2028 dvb_usb_dib0700 dib7000p dib7000m dvb_usb dvb_core dib3000mc dibx000_common dib0070 nls_iso8859_1 nls_cp437 vfat fat xt_limit xt_tcpudp ipt_LOG ipt_MASQUERADE xt_DSCP ipt_REJECT nf_conntrack_irc nf_conntrack_ftp xt_state binfmt_misc ppdev lp parport joydev iptable_nat nf_nat nf_conntrack_ipv4 arc4 nf_conntrack nf_defrag_ipv4 ecb iptable_mangle iptable_filter snd_hda_codec_realtek ip_tables x_tables snd_hda_intel snd_hda_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi snd_rawmidi snd_seq_midi_event ath5k snd_seq snd_timer snd_seq_device psmouse mac80211 led_class serio_raw uvcvideo pcspkr snd soundcore videodev ath v4l1_compat snd_page_alloc atl2 cfg80211 eeepc_laptop usb_storage fbcon tileblit font bitblit softcursor i915 drm i2c_algo_bit video output intel_agp agpgart
[  448.945999] 
[  448.946007] Pid: 3533, comm: kdvb-ad-0-fe-0 Not tainted (2.6.31-5-generic #24-Ubuntu) 900
[  448.946014] EIP: 0060:[<c03a0813>] EFLAGS: 00010202 CPU: 0
[  448.946021] EIP is at _request_firmware+0x1f3/0x250
[  448.946026] EAX: 00000000 EBX: f493eb60 ECX: 00000001 EDX: c06fee50
[  448.946032] ESI: c0710538 EDI: eb95c6b8 EBP: ebb9fd30 ESP: ebb9fcfc
[  448.946038]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[  448.946044] Process kdvb-ad-0-fe-0 (pid: 3533, ti=ebb9e000 task=f4ac9920 task.ti=ebb9e000)
[  448.946049] Stack:
[  448.946053]  80000400 f2d2bc00 000000c0 03400000 00000006 ebb9fd69 00000006 00000000
[  448.946066] <0> ebb9fd94 f8f67062 eb9f3380 00000000 00000008 ebb9fd3c c03a0912 00000001
[  448.946081] <0> ebb9fdcc f90bb730 ebb9fe78 f8f6785b 00000002 00000002 f4a826a8 f4a82000
[  448.946096] Call Trace:
[  448.946112]  [<f8f67062>] ? dib0700_ctrl_wr+0x52/0x70 [dvb_usb_dib0700]
[  448.946120]  [<c03a0912>] ? request_firmware+0x12/0x20
[  448.946132]  [<f90bb730>] ? load_all_firmwares+0x60/0x6b0 [tuner_xc2028]
[  448.946144]  [<f8f6785b>] ? dib0700_i2c_xfer_legacy+0x17b/0x1a0 [dvb_usb_dib0700]
[  448.946156]  [<f8f67062>] ? dib0700_ctrl_wr+0x52/0x70 [dvb_usb_dib0700]
[  448.946168]  [<f8f6785b>] ? dib0700_i2c_xfer_legacy+0x17b/0x1a0 [dvb_usb_dib0700]
[  448.946179]  [<f90bc67b>] ? check_firmware+0x45b/0x870 [tuner_xc2028]
[  448.946191]  [<c013617d>] ? update_curr+0x21d/0x230
[  448.946202]  [<c030cfc4>] ? rb_erase+0xb4/0x120
[  448.946212]  [<f90bcaf5>] ? generic_set_freq+0x65/0x500 [tuner_xc2028]
[  448.946221]  [<c0124e69>] ? vmalloc_fault+0xc9/0xd0
[  448.946231]  [<c056de65>] ? do_page_fault+0x295/0x380
[  448.946241]  [<c0431d34>] ? i2c_transfer+0x94/0xc0
[  448.946249]  [<c056dbd0>] ? do_page_fault+0x0/0x380
[  448.946259]  [<f90bd265>] ? xc2028_set_params+0x185/0x276 [tuner_xc2028]
[  448.946267]  [<c05600d8>] ? vsc_sata_init_one+0xba/0x268
[  448.946279]  [<f8f5229b>] ? dib7000p_set_frontend+0x4b/0x170 [dib7000p]
[  448.946290]  [<c014ae25>] ? try_to_del_timer_sync+0x45/0x50
[  448.946313]  [<f8f18a31>] ? dvb_frontend_swzigzag_autotune+0x111/0x260 [dvb_core]
[  448.946321]  [<c0136fb7>] ? try_to_wake_up+0xf7/0x350
[  448.946329]  [<c056b823>] ? _spin_lock_irq+0x13/0x20
[  448.946348]  [<f8f195f1>] ? dvb_frontend_swzigzag+0x1d1/0x260 [dvb_core]
[  448.946367]  [<f8f19ff7>] ? dvb_frontend_thread+0x387/0x630 [dvb_core]
[  448.946376]  [<c01568b0>] ? autoremove_wake_function+0x0/0x40
[  448.946394]  [<f8f19c70>] ? dvb_frontend_thread+0x0/0x630 [dvb_core]
[  448.946401]  [<c01565c4>] ? kthread+0x74/0x80
[  448.946408]  [<c0156550>] ? kthread+0x0/0x80
[  448.946418]  [<c0103f17>] ? kernel_thread_helper+0x7/0x10
[  448.946422] Code: 00 00 00 c7 44 24 04 d0 80 00 00 89 fa 89 34 24 ff 55 e0 83 45 e4 04 8b 45 e4 8b 00 85 c0 89 45 e0 75 d6 e9 52 fe ff ff 8b 45 e8 <8b> 70 08 e8 65 69 ff ff 89 5c 24 0c 89 74 24 08 89 44 24 04 c7 
[  448.946499] EIP: [<c03a0813>] _request_firmware+0x1f3/0x250 SS:ESP 0068:ebb9fcfc
[  448.946510] CR2: 0000000000000008
[  448.946517] ---[ end trace f0d1f35290b71dab ]---
Comment 1 Sebseb01 2009-09-19 21:57:53 UTC
hello
I have same bug. 
All info on launchpad : https://bugs.launchpad.net/ubuntu/+source/linux/+bug/429662
thanks
Comment 2 Sebseb01 2009-09-19 22:43:36 UTC
It's a regression, on 2.6.28 it's correctly working.
(I don't have same hardware same as Tarvo)
Comment 3 Martin Samek 2009-09-20 13:33:09 UTC
I can confirm too on gentoo-sources-2.6.31. My brand new Gigabyte U8000 oops kernel.
Comment 4 Martin Samek 2009-09-20 21:39:30 UTC
WARNING: at fs/sysfs/dir.c:487 sysfs_add_one+0x92/0xb0()                                                                                                                                       
Hardware name: P5Q DELUXE                                                                                                                                                                      
sysfs: cannot create duplicate filename '/devices/platform/i2c-adapter/i2c-5/i2c-5'                                                                                                            
Modules linked in: tuner_xc2028 dvb_usb_dib0700 dib7000p dib7000m dvb_usb dvb_core dib3000mc dibx000_common nvidia(P) asus_atk0110 coretemp sco rfcomm l2cap fuse usb_storage [last unloaded: dvb_core]                                                                                                                                                                                       
Pid: 13910, comm: kdvb-ad-0-fe-0 Tainted: P        W  2.6.30-gentoo-r7 #1                                                                                                                      
Call Trace:                                                                                                                                                                                    
 [<c01c56f2>] ? sysfs_add_one+0x92/0xb0                                                                                                                                                        
 [<c01c56f2>] ? sysfs_add_one+0x92/0xb0                                                                                                                                                        
 [<c0129236>] ? warn_slowpath_common+0x76/0xd0                                                                                                                                                 
 [<c01c56f2>] ? sysfs_add_one+0x92/0xb0                                                                                                                                                        
 [<c01292db>] ? warn_slowpath_fmt+0x2b/0x30                                                                                                                                                    
 [<c01c56f2>] ? sysfs_add_one+0x92/0xb0                                                                                                                                                        
 [<c01c5cc8>] ? create_dir+0x48/0x90                                                                                                                                                           
 [<c01c5d39>] ? sysfs_create_dir+0x29/0x50                                                                                                                                                     
 [<c0278f6f>] ? kobject_get+0xf/0x20                                                                                                                                                           
 [<c02790bd>] ? kobject_add_internal+0xcd/0x1c0                                                                                                                                                
 [<c027933d>] ? kobject_add+0x2d/0x60                                                                                                                                                          
 [<c02ea387>] ? device_add+0xd7/0x580                                                                                                                                                          
 [<c0278d1a>] ? kobject_init+0x2a/0xa0                                                                                                                                                         
 [<c02f11bf>] ? _request_firmware+0x14f/0x3f0                                                                                                                                                  
 [<c02f14ef>] ? request_firmware+0xf/0x20                                                                                                                                                      
 [<f8d81031>] ? generic_set_freq+0xbf1/0x1c60 [tuner_xc2028]                                                                                                                                   
 [<c034bb60>] ? usb_control_msg+0xe0/0x100                                                                                                                                                     
 [<f8bfa659>] ? dib0700_i2c_xfer+0x179/0x3a0 [dvb_usb_dib0700]                                                                                                                                 
 [<c015d4cd>] ? __pagevec_free+0x1d/0x30                                                                                                                                                       
 [<c0160719>] ? release_pages+0x169/0x1b0                                                                                                                                                      
 [<c036f69a>] ? i2c_transfer+0x7a/0xa0                                                                                                                                                         
 [<c036f69a>] ? i2c_transfer+0x7a/0xa0                                                                                                                                                         
 [<f8be5078>] ? dib7000p_write_word+0x58/0x70 [dib7000p]                                                                                                                                       
 [<f8d823da>] ? xc2028_set_params+0x11a/0x270 [tuner_xc2028]                                                                                                                                   
 [<f8be6376>] ? dib7000p_set_frontend+0x56/0xfb0 [dib7000p]                                                                                                                                    
 [<c045b2f0>] ? __schedule+0x260/0x8f0                                                                                                                                                         
 [<c011f9a6>] ? update_curr+0x146/0x1b0                                                                                                                                                        
 [<c036f69a>] ? i2c_transfer+0x7a/0xa0                                                                                                                                                         
 [<f8bb0681>] ? dvb_frontend_swzigzag_autotune+0xc1/0x240 [dvb_core]                                                                                                                           
 [<f8be5128>] ? dib7000p_read_word+0x68/0xc0 [dib7000p]                                                                                                                                        
 [<c0132b71>] ? del_timer_sync+0x11/0x20                                                                                                                                                       
 [<c0120002>] ? put_prev_task_fair+0x12/0x110                                                                                                                                                  
 [<f8bb1099>] ? dvb_frontend_swzigzag+0x179/0x270 [dvb_core]                                                                                                                                   
 [<f8bb1907>] ? dvb_frontend_thread+0x3a7/0x640 [dvb_core]                                                                                                                                     
 [<c013d450>] ? autoremove_wake_function+0x0/0x50                                                                                                                                              
 [<f8bb1560>] ? dvb_frontend_thread+0x0/0x640 [dvb_core]                                                                                                                                       
 [<c013d103>] ? kthread+0x43/0x80                                                                                                                                                              
 [<c013d0c0>] ? kthread+0x0/0x80                                                                                                                                                               
 [<c010395f>] ? kernel_thread_helper+0x7/0x18                                                                                                                                                  
---[ end trace 3c6d2fffc448ec37 ]---                                                                                                                                                           
kobject_add_internal failed for i2c-5 with -EEXIST, don't try to register things with the same name in the same directory.                                                                     
Pid: 13910, comm: kdvb-ad-0-fe-0 Tainted: P        W  2.6.30-gentoo-r7 #1
Call Trace:
 [<c0279102>] ? kobject_add_internal+0x112/0x1c0
 [<c027933d>] ? kobject_add+0x2d/0x60
 [<c02ea387>] ? device_add+0xd7/0x580
 [<c0278d1a>] ? kobject_init+0x2a/0xa0
 [<c02f11bf>] ? _request_firmware+0x14f/0x3f0
 [<c02f14ef>] ? request_firmware+0xf/0x20
 [<f8d81031>] ? generic_set_freq+0xbf1/0x1c60 [tuner_xc2028]
 [<c034bb60>] ? usb_control_msg+0xe0/0x100
 [<f8bfa659>] ? dib0700_i2c_xfer+0x179/0x3a0 [dvb_usb_dib0700]
 [<c015d4cd>] ? __pagevec_free+0x1d/0x30
 [<c0160719>] ? release_pages+0x169/0x1b0
 [<c036f69a>] ? i2c_transfer+0x7a/0xa0
 [<c036f69a>] ? i2c_transfer+0x7a/0xa0
 [<f8be5078>] ? dib7000p_write_word+0x58/0x70 [dib7000p]
 [<f8d823da>] ? xc2028_set_params+0x11a/0x270 [tuner_xc2028]
 [<f8be6376>] ? dib7000p_set_frontend+0x56/0xfb0 [dib7000p]
 [<c045b2f0>] ? __schedule+0x260/0x8f0
 [<c011f9a6>] ? update_curr+0x146/0x1b0
 [<c036f69a>] ? i2c_transfer+0x7a/0xa0
 [<f8bb0681>] ? dvb_frontend_swzigzag_autotune+0xc1/0x240 [dvb_core]
 [<f8be5128>] ? dib7000p_read_word+0x68/0xc0 [dib7000p]
 [<c0132b71>] ? del_timer_sync+0x11/0x20
 [<c0120002>] ? put_prev_task_fair+0x12/0x110
 [<f8bb1099>] ? dvb_frontend_swzigzag+0x179/0x270 [dvb_core]
 [<f8bb1907>] ? dvb_frontend_thread+0x3a7/0x640 [dvb_core]
 [<c013d450>] ? autoremove_wake_function+0x0/0x50
 [<f8bb1560>] ? dvb_frontend_thread+0x0/0x640 [dvb_core]
 [<c013d103>] ? kthread+0x43/0x80
 [<c013d0c0>] ? kthread+0x0/0x80
 [<c010395f>] ? kernel_thread_helper+0x7/0x18
i2c-adapter i2c-5: fw_register_device: device_register failed
xc2028 5-0061: Error -17 while requesting firmware xc3028-v27.fw
xc2028 5-0061: Error on line 1118: -5
Comment 5 Martin Samek 2009-09-20 21:49:39 UTC
kernels from 2.6.29 to 31 are affected.
Comment 6 Martin Samek 2009-09-22 08:12:39 UTC
Created attachment 23137 [details]
Firmware loading workaround patch

This is only workaround to get TV work. It's not a solution.
Comment 7 Devin Heitmueller 2009-10-07 15:59:42 UTC
djh - This actually *is* a regression and should be marked as such.

I issued a High priority PULL request for Martin's fix in the v4l-dvb mainline, which addresses the oops (although in the long term the routine should be in common code).

http://linuxtv.org/hg/v4l-dvb/rev/1ef17d053c9c
Comment 8 madcatxster 2009-10-08 09:06:58 UTC
I get this too on 2.6.31.2 on Arch64

xc2028 7-0061: creating new instance                                                                           
xc2028 7-0061: type set to XCeive xc2028/xc3028 tuner                                                          
input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1d.7/usb2/2-4/input/input13       
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                                                       
xc2028 7-0061: Error on line 1135: -5                                                                          
BUG: unable to handle kernel NULL pointer dereference at 0000000000000010                                      
IP: [<ffffffff8129ff37>] _request_firmware+0x637/0x660                                                         
PGD 0                                                                                                          
Oops: 0000 [#1] PREEMPT SMP                                                                                    
last sysfs file: /sys/devices/platform/coretemp.0/temp1_input                                                  
CPU 1                                                                                                          
Modules linked in: tuner_xc2028 dvb_usb_dib0700 dib7000p dib7000m dvb_usb dvb_core dib3000mc dibx000_common dib0070 cryptd aes_x86_64 aes_generic ipv6 rfcomm sco bridge stp llc bnep l2cap btusb bluetooth omnibook coretemp fuse ext2 snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss hid_logitech ff_memless arc4 usbhid hid joydev ecb snd_hda_codec_realtek iwlagn snd_hda_intel uvcvideo snd_hda_codec snd_hwdep snd_pcm snd_timer snd soundcore videodev v4l1_compat v4l2_compat_ioctl32 iwlcore mac80211 snd_page_alloc thermal nvidia(P) fan cfg80211 rfkill video output processor sdhci_pci sdhci iTCO_wdt iTCO_vendor_support mmc_core led_class uhci_hcd r8169 mii button psmouse ehci_hcd usbcore i2c_i801 i2c_core ohci1394 ieee1394 jmb38x_ms memstick sg serio_raw pcspkr intel_agp evdev battery ac rtc_cmos rtc_core rtc_lib ext4 mbcache jbd2 crc16 sr_mod cdrom sd_mod ahci libata scsi_mod                                                                         
Pid: 9916, comm: kdvb-ad-0-fe-0 Tainted: P           2.6.31-ARCH #1 Qosmio X300                                
RIP: 0010:[<ffffffff8129ff37>]  [<ffffffff8129ff37>] _request_firmware+0x637/0x660                             
RSP: 0018:ffff8800b9887b50  EFLAGS: 00010202
RAX: 000000000000000d RBX: ffff88013fad1d20 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff8145f129 RDI: ffff88013fad1d20
RBP: ffffffff81469ee0 R08: 0000000000000000 R09: 0000000000000000
R10: 2222222222222222 R11: 0000000000000001 R12: 0000000000000000
R13: 0000000000000000 R14: ffff8800b9887c98 R15: ffff88013fad1b50
FS:  0000000000000000(0000) GS:ffff88002803f000(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000010 CR3: 0000000001001000 CR4: 00000000000406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process kdvb-ad-0-fe-0 (pid: 9916, threadinfo ffff8800b9886000, task ffff88012d7270a0)
Stack:
 0000000000000000 0000000033467270 00000001b9887db0 ffff880135396d98
<0> ffff8800aac81000 0000000033467270 ffff880124a27c08 ffff880135396d00
<0> ffff8800aac81000 ffff88013fad1d20 ffff880124a27c08 0000000000000000
Call Trace:
 [<ffffffffa0f8b319>] ? generic_set_freq+0xb19/0x19d0 [tuner_xc2028]
 [<ffffffff813860d8>] ? __mutex_lock_slowpath+0x258/0x360
 [<ffffffffa01a395b>] ? i2c_transfer+0xdb/0x130 [i2c_core]
 [<ffffffffa0f710ed>] ? dib7000p_write_word+0x6d/0xa0 [dib7000p]
 [<ffffffffa0f727d7>] ? dib7000p_set_frontend+0x67/0xf60 [dib7000p]
 [<ffffffff810687ef>] ? try_to_del_timer_sync+0x5f/0x80
 [<ffffffffa0f4f7bf>] ? dvb_frontend_swzigzag_autotune+0x11f/0x280 [dvb_core]
 [<ffffffff810688e0>] ? process_timeout+0x0/0x40
 [<ffffffffa0f508fa>] ? dvb_frontend_swzigzag+0x20a/0x2a0 [dvb_core]
 [<ffffffffa0f50dd8>] ? dvb_frontend_thread+0x448/0x710 [dvb_core]
 [<ffffffff8107a0d0>] ? autoremove_wake_function+0x0/0x60
 [<ffffffffa0f50990>] ? dvb_frontend_thread+0x0/0x710 [dvb_core]
 [<ffffffff81079b46>] ? kthread+0xb6/0xc0
 [<ffffffff8100d49a>] ? child_rip+0xa/0x20
 [<ffffffff81079a90>] ? kthread+0x0/0xc0
 [<ffffffff8100d490>] ? child_rip+0x0/0x20
Code: ef bd f4 ff ff ff e8 59 26 ff ff 48 c7 c1 40 8f 3c 81 48 89 c6 48 c7 c7 70 d5 45 81 48 89 da 31 c0 e8 b0 41 0e 00 e9 d6 fc ff ff <49> 8b 6d 10 4c 89 ef e8 2d 26 ff ff 48 89 d9 48 89 c6 48 c7 c7
RIP  [<ffffffff8129ff37>] _request_firmware+0x637/0x660
 RSP <ffff8800b9887b50>
CR2: 0000000000000010
---[ end trace 816d00dbf94c32d4 ]---

Note You need to log in before you can comment on or make changes to this bug.