kernel icon indicating copy to clipboard operation
kernel copied to clipboard

kernel-4.19 irq xxx: nobody cared (try booting with the "irqpoll" option)

Open acbdef123 opened this issue 2 years ago • 1 comments

hi, 音视频通过 rk628d (HDMIRX)输入到 --> RK3568(MIPI CSI),HDMI热插拔中断号101,对应gpio为 GPIO2,RK_PD0 (VCCIO5 <---1.8V) 插拔PC端HDMI线,概率出现如下错误:

case 1: [17513.073563] m00_b_rk628-csi rk628-csi: rk628_csi_format_change: New format: 1920x1080p0.0 (2200x1125) [17513.637447] rkisp-vir0: rkisp_stream_stop id:0 timeout [17513.641528] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream_stop stream stop, dphy0 [17513.641536] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream stream on:0, dphy0 [17518.664994] realtek-smi switch eth5: Link is Down [17518.665320] br-vlan1: port 4(eth5) entered disabled state [18925.677398] irq 101: nobody cared (try booting with the "irqpoll" option) [18925.677432] CPU: 0 PID: 9 Comm: ksoftirqd/0 Tainted: G W O 4.19.193-ab79 #1 [18925.677434] Hardware name: Rockchip RK3568 Board (DT) [18925.677437] Call trace: [18925.677451] dump_backtrace+0x0/0x188 [18925.677456] show_stack+0x24/0x30 [18925.677461] dump_stack+0x8c/0xb4 [18925.677467] __report_bad_irq+0x44/0xe0 [18925.677470] note_interrupt+0x124/0x284 [18925.677473] handle_irq_event_percpu+0x68/0x94 [18925.677476] handle_irq_event+0x50/0x80 [18925.677479] handle_edge_irq+0x190/0x1a8 [18925.677482] generic_handle_irq+0x2c/0x44 [18925.677488] rockchip_irq_demux+0x160/0x1f0 [18925.677490] generic_handle_irq+0x2c/0x44 [18925.677493] __handle_domain_irq+0xb4/0xb8 [18925.677496] gic_handle_irq+0xdc/0x1b4 [18925.677499] el1_irq+0xb0/0x140 [18925.677505] __bpf_prog_run32+0x6c/0x70 [18925.677510] packet_rcv+0xa4/0x380 [18925.677515] __netif_receive_skb_core+0x8c4/0xa38 [18925.677517] __netif_receive_skb_one_core+0x50/0x94 [18925.677520] __netif_receive_skb+0x80/0x84 [18925.677522] netif_receive_skb_internal+0xc8/0xdc [18925.677525] netif_receive_skb+0x6c/0x90 [18925.677529] br_netif_receive_skb+0x40/0x4c [18925.677532] br_pass_frame_up+0x10c/0x140 [18925.677535] br_handle_frame_finish+0x240/0x2a4 [18925.677539] br_nf_hook_thresh+0x70/0x108 [18925.677542] br_nf_pre_routing_finish+0x1e4/0x2cc [18925.677545] br_nf_pre_routing+0x2ec/0x350 [18925.677550] nf_hook_slow+0x58/0xc8 [18925.677553] br_handle_frame+0x290/0x2cc [18925.677556] __netif_receive_skb_core+0x454/0xa38 [18925.677559] __netif_receive_skb_one_core+0x50/0x94 [18925.677561] __netif_receive_skb+0x80/0x84 [18925.677563] netif_receive_skb_internal+0xc8/0xdc [18925.677566] napi_gro_receive+0xe0/0x114 [18925.677570] gro_cell_poll+0x7c/0x90 [18925.677572] net_rx_action+0x154/0x358 [18925.677575] __do_softirq+0x1f8/0x2d4 [18925.677580] run_ksoftirqd+0x2c/0x44 [18925.677585] smpboot_thread_fn+0x194/0x1b0 [18925.677589] kthread+0x120/0x130 [18925.677592] ret_from_fork+0x10/0x18 [18925.677594] handlers: [18925.677612] [<0000000040f998e0>] irq_default_primary_handler threaded [<00000000694197b5>] plugin_detect_irq [18925.677627] Disabling IRQ #101 root@5108291099:~#

root@5108291099:~# cat /proc/interrupts |grep rk628_csi 92: 14 20 1 0 rk628 7 Edge rk628_csi 101: 200001 0 0 0 gpio2 24 Edge rk628_csi

root@5108291099:~# cat /sys/kernel/debug/gpio |grep plugin-det gpio-88 ( |plugin-det ) in hi

case 2: [85364.775704] br-vlan1: port 7(eth8) entered forwarding state [85744.041377] m00_b_rk628-csi rk628-csi: rk628_csi_format_change: New format: 1920x1080p0.0 (2200x1125) [85744.579739] rkisp-vir0: rkisp_stream_stop id:0 timeout [85744.583856] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream_stop stream stop, dphy0 [85744.583863] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream stream on:0, dphy0 [85754.774588] irq 101: nobody cared (try booting with the "irqpoll" option) [85754.774628] CPU: 0 PID: 2829 Comm: irq/84-dwc3 Tainted: G W O 4.19.193-ab79 #1 [85754.774631] Hardware name: Rockchip RK3568 Board (DT) [85754.774634] Call trace: [85754.774650] dump_backtrace+0x0/0x188 [85754.774655] show_stack+0x24/0x30 [85754.774661] dump_stack+0x8c/0xb4 [85754.774667] __report_bad_irq+0x44/0xe0 [85754.774671] note_interrupt+0x124/0x284 [85754.774674] handle_irq_event_percpu+0x68/0x94 [85754.774676] handle_irq_event+0x50/0x80 [85754.774680] handle_edge_irq+0x190/0x1a8 [85754.774683] generic_handle_irq+0x2c/0x44 [85754.774691] rockchip_irq_demux+0x160/0x1f0 [85754.774693] generic_handle_irq+0x2c/0x44 [85754.774696] __handle_domain_irq+0xb4/0xb8 [85754.774699] gic_handle_irq+0xdc/0x1b4 [85754.774702] el1_irq+0xb0/0x140 [85754.774709] dwc3_thread_interrupt+0x17e4/0x1800 [85754.774712] irq_thread_fn+0x30/0x64 [85754.774715] irq_thread+0xe0/0x194 [85754.774720] kthread+0x120/0x130 [85754.774723] ret_from_fork+0x10/0x18 [85754.774726] handlers: [85754.774739] [<00000000c0c183f6>] irq_default_primary_handler threaded [<00000000280c29bd>] plugin_detect_irq [85754.774752] Disabling IRQ #101

root@6811241202:/gw/bin# cat /proc/interrupts |grep rk628_csi 92: 3 10 1 0 rk628 7 Edge rk628_csi 101: 100001 0 0 0 gpio2 24 Edge rk628_csi

root@6811241202:/gw/bin# cat /sys/kernel/debug/gpio |grep plugin-det gpio-88 ( |plugin-det ) in lo

acbdef123 avatar Mar 11 '23 07:03 acbdef123

For those who met this problem - in my case this happened due to wrong pins configuration and wrong voltage levels between AP and RK628. What really happened in my case: RK628 set HDMIRX_INT to 0. Due to some pullups from AP side - there is always logical '1' on the interrupt pin and irq handler called constantly. But no interrupt source is detected. After many many times irq called kernel disables IRQ and print "nobody cared".

But I see that in original issue this is printed for another IRQ - plugin DET. Well, levels, polarities and other can affect here too.

dmitry-bodnya avatar Oct 23 '24 11:10 dmitry-bodnya