tbsdtv / linux_media

TBS linux open source drivers
https://github.com/tbsdtv/linux_media/wiki
Other
169 stars 79 forks source link

TBS 5990 on Raspberry Pi - kernel crash when activating second adapter #279

Open gersch07 opened 2 years ago

gersch07 commented 2 years ago

Dear all,

I have been trying to make my TBS 5990 work on the Raspberry Pi 4B and basically on any available distribution (Raspberry Pi OS and Manjaro , both for armhf / aarch64) the kernel stalls upon activating the second adapter (see log below). With my limited experience, I'd guess it's some memory allocation problem... Has anyone of you succeeded getting both tuners to work or an idea what else I could still try? Thanks in advance for your help!

------------[ cut here ]------------
[   20.691696] xhci_hcd 0000:01:00.0: rejecting DMA map of vmalloc memory
[   20.691776] WARNING: CPU: 2 PID: 2423 at include/linux/dma-mapping.h:276 usb_hcd_map_urb_for_dma+0x4e8/0x518
[   20.691779] Modules linked in: rfcomm cmac algif_hash aes_arm64 algif_skcipher af_alg bnep hci_uart btbcm bluetooth ecdh_generic ecc av201x(O) cx231xx_dvb_ci(O) tas2101(O) 8021q garp stp llc snd_soc_hdmi_codec hid_logitech_hidpp cx25840(O) rtl2832_sdr(O) joydev r820t(O) mn88473(O) rtl2832(O) regmap_i2c brcmfmac brcmutil v3d cx231xx(O) gpu_sched tveeprom(O) sg cfg80211 cx2341x(O) dvb_usb_rtl28xxu(O) raspberrypi_hwmon i2c_mux hid_multitouch dvb_usb_v2(O) vc4 rfkill dvb_core(O) cec i2c_brcmstb hid_logitech_dj videobuf2_vmalloc(O) bcm2835_mmal_vchiq(C) v4l2_mem2mem(O) drm_kms_helper videobuf2_dma_contig(O) videobuf2_memops(O) videobuf2_v4l2(O) snd_bcm2835(C) vc_sm_cma(C) videobuf2_common(O) snd_soc_core videodev(O) snd_compress mc(O) snd_pcm_dmaengine snd_pcm snd_timer rpivid_mem snd syscopyarea sysfillrect sysimgblt fb_sys_fops nvmem_rmem uio_pdrv_genirq uio i2c_dev drm fuse drm_panel_orientation_quirks backlight ip_tables x_tables ipv6
[   20.691960] CPU: 2 PID: 2423 Comm: tvh:lnxdvb-fron Tainted: G         C O      5.10.103-v8+ #1530
[   20.691963] Hardware name: Raspberry Pi 4 Model B Rev 1.4 (DT)
[   20.691968] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO BTYPE=--)
[   20.691972] pc : usb_hcd_map_urb_for_dma+0x4e8/0x518
[   20.691976] lr : usb_hcd_map_urb_for_dma+0x4e8/0x518
[   20.691979] sp : ffffffc013cbb9a0
[   20.691983] x29: ffffffc013cbb9a0 x28: ffffff81508db500 
[   20.691989] x27: ffffff810178e000 x26: ffffff8135a40000 
[   20.691994] x25: ffffff810130a0b0 x24: ffffffc012907000 
[   20.691999] x23: ffffff81016c8000 x22: 0000000000000002 
[   20.692005] x21: 0000000000008000 x20: 0000000000000000 
[   20.692010] x19: ffffff81508db300 x18: 0000000000000000 
[   20.692021] x17: 0000000000000000 x16: 0000000000000000 
[   20.692055] x15: 0000000000000000 x14: 0000000000000000 
[   20.692067] x13: 0000000000000000 x12: ffffffc0113154f8 
[   20.692072] x11: 0000000000000003 x10: ffffffc0112fd4b8 
[   20.692077] x9 : ffffffc0100e66e0 x8 : 0000000000017fe8 
[   20.692083] x7 : c0000000ffffefff x6 : ffffffc013cbb600 
[   20.692088] x5 : 0000000000000001 x4 : 0000000000000000 
[   20.692093] x3 : 0000000000000001 x2 : 0000000000000000 
[   20.692098] x1 : 00e0233e75eeea00 x0 : 0000000000000000 
[   20.692104] Call trace:
[   20.692109]  usb_hcd_map_urb_for_dma+0x4e8/0x518
[   20.692115]  xhci_map_urb_for_dma+0x64/0x70
[   20.692119]  usb_hcd_submit_urb+0xd8/0x9a0
[   20.692125]  usb_submit_urb+0x1ec/0x550
[   20.692152]  cx231xx_init_bulk_ts2+0x258/0x3e0 [cx231xx]
[   20.692162]  start_feed+0x1c8/0x1f4 [cx231xx_dvb_ci]
[   20.692183]  dmx_ts_feed_start_filtering+0x5c/0xf4 [dvb_core]
[   20.692192]  dvb_dmxdev_start_feed+0xbc/0x130 [dvb_core]
[   20.692201]  dvb_dmxdev_filter_start+0x9c/0x3b0 [dvb_core]
[   20.692210]  dvb_demux_do_ioctl+0x664/0x6d0 [dvb_core]
[   20.692219]  dvb_usercopy+0x74/0x240 [dvb_core]
[   20.692228]  dvb_demux_ioctl+0x24/0x3c [dvb_core]
[   20.692243]  __arm64_sys_ioctl+0xb0/0xf0
[   20.692250]  el0_svc_common.constprop.3+0xc0/0x1f8
[   20.692254]  do_el0_svc+0x2c/0x98
[   20.692260]  el0_svc+0x20/0x30
[   20.692263]  el0_sync_handler+0x90/0xb8
[   20.692268]  el0_sync+0x180/0x1c0
[   20.692273] ---[ end trace 99c38a4effbd0cf5 ]---
[   20.692290] cx231xx 1-1.1.1:1.1: submit of urb 0 failed (error=-11)
[   20.692329] Unable to handle kernel paging request at virtual address 03fffffeffdffff4
[   20.692342] Mem abort info:
[   20.692347]   ESR = 0x96000004
[   20.692354]   EC = 0x25: DABT (current EL), IL = 32 bits
[   20.692359]   SET = 0, FnV = 0
[   20.692365]   EA = 0, S1PTW = 0
[   20.692369] Data abort info:
[   20.692375]   ISV = 0, ISS = 0x00000004
[   20.692379]   CM = 0, WnR = 0
[   20.692385] [03fffffeffdffff4] address between user and kernel address ranges
[   20.692393] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[   20.692399] Modules linked in: rfcomm cmac algif_hash aes_arm64 algif_skcipher af_alg bnep hci_uart btbcm bluetooth ecdh_generic ecc av201x(O) cx231xx_dvb_ci(O) tas2101(O) 8021q garp stp llc snd_soc_hdmi_codec hid_logitech_hidpp cx25840(O) rtl2832_sdr(O) joydev r820t(O) mn88473(O) rtl2832(O) regmap_i2c brcmfmac brcmutil v3d cx231xx(O) gpu_sched tveeprom(O) sg cfg80211 cx2341x(O) dvb_usb_rtl28xxu(O) raspberrypi_hwmon i2c_mux hid_multitouch dvb_usb_v2(O) vc4 rfkill dvb_core(O) cec i2c_brcmstb hid_logitech_dj videobuf2_vmalloc(O) bcm2835_mmal_vchiq(C) v4l2_mem2mem(O) drm_kms_helper videobuf2_dma_contig(O) videobuf2_memops(O) videobuf2_v4l2(O) snd_bcm2835(C) vc_sm_cma(C) videobuf2_common(O) snd_soc_core videodev(O) snd_compress mc(O) snd_pcm_dmaengine snd_pcm snd_timer rpivid_mem snd syscopyarea sysfillrect sysimgblt fb_sys_fops nvmem_rmem uio_pdrv_genirq uio i2c_dev drm fuse drm_panel_orientation_quirks backlight ip_tables x_tables ipv6
[   20.692565] CPU: 2 PID: 2423 Comm: tvh:lnxdvb-fron Tainted: G        WC O      5.10.103-v8+ #1530
[   20.692568] Hardware name: Raspberry Pi 4 Model B Rev 1.4 (DT)
[   20.692573] pstate: 20000005 (nzCv daif -PAN -UAO -TCO BTYPE=--)
[   20.692588] pc : page_frag_alloc+0x2e4/0x458
[   20.692595] lr : dma_free_contiguous+0x60/0x80
[   20.692599] sp : ffffffc013cbba20
[   20.692602] x29: ffffffc013cbba20 x28: ffffff81508db500 
[   20.692609] x27: ffffff810dcdc080 x26: ffffff8135a40000 
[   20.692616] x25: ffffff810dcde080 x24: ffffff810dcdf1c0 
[   20.692622] x23: 0000000000000000 x22: ffffff810130a0b0 
[   20.692628] x21: 0000000000008000 x20: 03fffffeffdfffc0 
[   20.692634] x19: 000000000000003d x18: 0000000000000001 
[   20.692640] x17: 0000000000000000 x16: 0000000000000000 
[   20.692646] x15: ffffffffffffffff x14: ffffffc010e1d078 
[   20.692652] x13: ffffffc011472c10 x12: ffffffc0113154f8 
[   20.692658] x11: 0000000000000003 x10: ffffffc0112fd4b8 
[   20.692665] x9 : ffffffc0101109d0 x8 : 0000000000017fe8 
[   20.692671] x7 : ffffffc010e1d000 x6 : fffffffeffe00000 
[   20.692677] x5 : 000000000002ec00 x4 : 03fffffeffdffff4 
[   20.692683] x3 : 0000000000014000 x2 : 0000000000000001 
[   20.692688] x1 : 0000000000000003 x0 : 03fffffeffdfffc0 
[   20.692695] Call trace:
[   20.692700]  page_frag_alloc+0x2e4/0x458
[   20.692704]  dma_free_contiguous+0x60/0x80
[   20.692709]  dma_direct_free+0xc8/0x118
[   20.692713]  dma_free_attrs+0x98/0xb8
[   20.692720]  hcd_buffer_free+0x6c/0xc8
[   20.692726]  usb_free_coherent+0x2c/0x40
[   20.692752]  cx231xx_uninit_bulk_ts2+0x70/0x160 [cx231xx]
[   20.692762]  cx231xx_init_bulk_ts2+0x318/0x3e0 [cx231xx]
[   20.692769]  start_feed+0x1c8/0x1f4 [cx231xx_dvb_ci]
[   20.692783]  dmx_ts_feed_start_filtering+0x5c/0xf4 [dvb_core]
[   20.692793]  dvb_dmxdev_start_feed+0xbc/0x130 [dvb_core]
[   20.692803]  dvb_dmxdev_filter_start+0x9c/0x3b0 [dvb_core]
[   20.692813]  dvb_demux_do_ioctl+0x664/0x6d0 [dvb_core]
[   20.692823]  dvb_usercopy+0x74/0x240 [dvb_core]
[   20.692832]  dvb_demux_ioctl+0x24/0x3c [dvb_core]
[   20.692845]  __arm64_sys_ioctl+0xb0/0xf0
[   20.692851]  el0_svc_common.constprop.3+0xc0/0x1f8
[   20.692856]  do_el0_svc+0x2c/0x98
[   20.692861]  el0_svc+0x20/0x30
[   20.692865]  el0_sync_handler+0x90/0xb8
[   20.692869]  el0_sync+0x180/0x1c0
[   20.692877] Code: 35ffffa3 d5033bbf 17ffeb59 f9800091 (885f7c80) 
[   20.692882] ---[ end trace 99c38a4effbd0cf6 ]---