• Vasanthakumar Thiagarajan's avatar
    ath6kl: Fix kernel panic while receiving fwlog during boot · 068a4633
    Vasanthakumar Thiagarajan authored
    "ath6kl: Defer wiphy and netdev registration till the end of ath6kl_core_init()"
    causes kernel panic by accessing the unallocated debug resources during
    boot time. To fix this, split the debug initialization funtion into two,
    one initializes the debug resource and the other takes care of debugfs
    initialization. When this issue shows up the kernel crash dump would
    look like
    
     ath6kl_debug_fwlog_event+0x9c/0x10a
     [<c10666c9>] register_lock_class+0x57/0x288
     [<c1065cd3>] ? trace_hardirqs_on+0xb/0xd
     [<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
     [<c1066a8a>] __lock_acquire+0x96/0xbe5
     [<c106007b>] ? alarmtimer_suspend+0x80/0x127
     [<c10258da>] ? vprintk+0x394/0x3b1
     [<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
     [<c10676b3>] lock_acquire+0xda/0xf9
     [<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
     [<c1532ce3>] _raw_spin_lock+0x28/0x58
     [<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
     [<f801f4c9>] ath6kl_debug_fwlog_event+0x9c/0x10a
     [<f80310a4>] ath6kl_wmi_control_rx+0x69d/0xb50 [ath6kl_core]
     [<f802d2e1>] ? ath6kl_rx+0x3c/0x839 [ath6kl_core]
     [<f802d35d>] ath6kl_rx+0xb8/0x839 [ath6kl_core]
     [<c104b81e>] ? local_clock+0x2d/0x4e
     [<c102a0af>] ? _local_bh_enable_ip+0x94/0x98
     [<f802bfc0>] ? ath6kl_alloc_amsdu_rxbuf+0xb7/0xb7
     [<f8023b28>] ath6kl_htc_rxmsg_pending_handler+0x891/0x988 [ath6kl_core]
     [<f802bf00>] ? ath6kl_refill_amsdu_rxbufs+0x89/0x92
     [<f802d2a5>] ? aggr_timeout+0xed/0xed [ath6kl_core]
     [<f802bfc0>] ? ath6kl_alloc_amsdu_rxbuf+0xb7/0xb7
     [<f802c420>] ? ath6kl_tx_complete+0x376/0x376 [ath6kl_core]
     [<f8020e92>] ath6kl_hif_intr_bh_handler+0xf7/0x33e
     [<c138ab00>] ? mmc_host_disable+0x15/0x3a
     [<f8123b5c>] ath6kl_sdio_irq_handler+0x3c/0x90 [ath6kl_sdio]
     [<c1392f56>] sdio_irq_thread+0xb6/0x29c
     [<c1392ea0>] ? sdio_claim_irq+0x1cb/0x1cb
     [<c103d4c0>] kthread+0x67/0x6c
     [<c103d459>] ? __init_kthread_worker+0x42/0x42
     [<c153903a>] kernel_thread_helper+0x6/0xd
     BUG: unable to handle kernel NULL pointer dereference at
    EIP: [<f801f4d4>] ath6kl_debug_fwlog_event+0xa7/0x10a
    
    kvalo: rename new function to ath6kl_debug_init_fs() and add a comment
    why it's needed
    Reported-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
    Signed-off-by: default avatarVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
    Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
    068a4633
debug.c 44.5 KB