• Venkateswara Naralasetty's avatar
    ath11k: fix kernel panic during unload/load ath11k modules · 22b59cb9
    Venkateswara Naralasetty authored
    Call netif_napi_del() from ath11k_ahb_free_ext_irq() to fix
    the following kernel panic when unload/load ath11k modules
    for few iterations.
    
    [  971.201365] Unable to handle kernel paging request at virtual address 6d97a208
    [  971.204227] pgd = 594c2919
    [  971.211478] [6d97a208] *pgd=00000000
    [  971.214120] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
    [  971.412024] CPU: 2 PID: 4435 Comm: insmod Not tainted 5.4.89 #0
    [  971.434256] Hardware name: Generic DT based system
    [  971.440165] PC is at napi_by_id+0x10/0x40
    [  971.445019] LR is at netif_napi_add+0x160/0x1dc
    
    [  971.743127] (napi_by_id) from [<807d89a0>] (netif_napi_add+0x160/0x1dc)
    [  971.751295] (netif_napi_add) from [<7f1209ac>] (ath11k_ahb_config_irq+0xf8/0x414 [ath11k_ahb])
    [  971.759164] (ath11k_ahb_config_irq [ath11k_ahb]) from [<7f12135c>] (ath11k_ahb_probe+0x40c/0x51c [ath11k_ahb])
    [  971.768567] (ath11k_ahb_probe [ath11k_ahb]) from [<80666864>] (platform_drv_probe+0x48/0x94)
    [  971.779670] (platform_drv_probe) from [<80664718>] (really_probe+0x1c8/0x450)
    [  971.789389] (really_probe) from [<80664cc4>] (driver_probe_device+0x15c/0x1b8)
    [  971.797547] (driver_probe_device) from [<80664f60>] (device_driver_attach+0x44/0x60)
    [  971.805795] (device_driver_attach) from [<806650a0>] (__driver_attach+0x124/0x140)
    [  971.814822] (__driver_attach) from [<80662adc>] (bus_for_each_dev+0x58/0xa4)
    [  971.823328] (bus_for_each_dev) from [<80663a2c>] (bus_add_driver+0xf0/0x1e8)
    [  971.831662] (bus_add_driver) from [<806658a4>] (driver_register+0xa8/0xf0)
    [  971.839822] (driver_register) from [<8030269c>] (do_one_initcall+0x78/0x1ac)
    [  971.847638] (do_one_initcall) from [<80392524>] (do_init_module+0x54/0x200)
    [  971.855968] (do_init_module) from [<803945b0>] (load_module+0x1e30/0x1ffc)
    [  971.864126] (load_module) from [<803948b0>] (sys_init_module+0x134/0x17c)
    [  971.871852] (sys_init_module) from [<80301000>] (ret_fast_syscall+0x0/0x50)
    
    Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.6.0.1-00760-QCAHKSWPL_SILICONZ-1
    Signed-off-by: default avatarVenkateswara Naralasetty <quic_vnaralas@quicinc.com>
    Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
    Link: https://lore.kernel.org/r/1642583973-21599-1-git-send-email-quic_vnaralas@quicinc.com
    22b59cb9
ahb.c 19.1 KB