Loading
qcacld-3.0: Fix deadlock scenario in packet capture mode
Ppdu_stats are received from firmware in softirq context. While inserting the ppdu_stats into a qdf list, a spinlock is held for its access, same qdf list is accessed by mon thread using spinlock. There can be a scenario in which mon_thread held spinlock for accessing qdf_list and is interrupted by softirq in which ppdu_stats are received. This leads to softirq spinning for lock forever leading to deadlock. To address this issue, use spin_lock_bh instead of spin_lock. Also reduce the time for which lock is taken to access the list for insertion and removal of ppdu_stats. Change-Id: I52171fe3c1d22a1e9d1ab36daac54d8fa2b96020 CRs-Fixed: 3136901