qcacld-3.0: Enable delayed peer obj freed feature in the default config
Define the CONFIG_FEATURE_DELAYED_PEER_OBJ_DESTROY to enable peer obj freed in a delayed work item to avoid any potential scheduling in the atomic context. It might invoke wakeup_source_unregister in the peer obj destroy handler which happens in the atomic context to cause scheduling timeout issue. Here is the call trace without enabling this flag: Call trace: dump_backtrace.cfi_jt+0x0/0x8 dump_stack_lvl+0x80/0xb8 __schedule_bug+0x80/0x134 __schedule+0x75c/0xacc schedule+0x110/0x204 schedule_timeout+0x48/0x138 wait_for_common+0x14c/0x314 __synchronize_srcu+0x13c/0x1e4 synchronize_srcu+0x2d4/0x414 wakeup_source_unregister+0xd8/0x1c4 mlme_peer_object_destroyed_notification+0x3c/0x1ac [kiwi_v2] wlan_objmgr_peer_release_ref+0x218/0x300 [kiwi_v2] dp_softap_inspect_tx_eap_pkt+0x24c/0x29c [kiwi_v2] dp_softap_notify_tx_compl_cbk+0xa4/0xa8 [kiwi_v2] dp_tx_comp_process_tx_status+0x28c/0xa90 [kiwi_v2] dp_tx_process_htt_completion_be+0x2f4/0x4f4 [kiwi_v2] dp_tx_comp_handler+0x5dc/0xaa8 [kiwi_v2] dp_service_srngs+0x114/0x4fc [kiwi_v2] hif_exec_poll+0xd8/0x3c0 [kiwi_v2] __napi_poll+0x64/0x268 net_rx_action+0x11c/0x3a0 _stext+0x16c/0x5e4 __irq_exit_rcu+0x74/0x140 handle_domain_irq+0xd4/0x154 gic_handle_irq.33723+0x54/0x2bc call_on_irq_stack+0x40/0x70 do_interrupt_handler+0x44/0xa0 el1_interrupt+0x34/0x64 el1h_64_irq_handler+0x1c/0x2c el1h_64_irq+0x7c/0x80 cpuidle_enter_state+0x3b4/0x87c do_idle+0x300/0x5a0 cpu_startup_entry+0x84/0x90 kernel_init+0x0/0x36c start_kernel+0x0/0x61c start_kernel+0x500/0x61c __primary_switched+0xc4/0x7a7c bad: scheduling from the idle thread! Change-Id: Icee1ef30380418596711ef54a95f3286287e1cdd CRs-Fixed: 3412052
This commit is contained in:

کامیت شده توسط
Madan Koyyalamudi

والد
24a219a701
کامیت
9c48e118d7
@@ -1193,6 +1193,9 @@ CONFIG_WLAN_BCN_RECV_FEATURE := y
|
||||
#Flag to enable LTE COEX feature
|
||||
CONFIG_LTE_COEX := y
|
||||
|
||||
#Flag to enable delayed peer obj free
|
||||
CONFIG_FEATURE_DELAYED_PEER_OBJ_DESTROY := y
|
||||
|
||||
#Flag to enable/disable TARGET 11d scan
|
||||
CONFIG_TARGET_11D_SCAN := y
|
||||
|
||||
|
مرجع در شماره جدید
Block a user