fb02a5e3ed7dcb8df2b2874d1bc3e1c3739987c1

In low memory conditions TX/RX histogram memory allocation failure is not handled properly and because of it 2 kernel panics are observed. 1st kernel panic is caused when freed HDD context is de-referenced in hdd_wlan_startup and 2nd kernel panic is caused by kernel wake lock list corruption because WLAN driver during load failure corrupted kernel's wake lock list. As part of this fix make sure TX/RX histogram memory allocation failure is handled gracefully by properly sending failure reason code to hdd_wlan_startup. Also in order to make fix complete and avoid any other kernel panic, deinit HDD context properly by freeing all HDD created wake locks such that when HDD context is freed its wake locks are not poisoned to 0x6b6b6b6b6b6b6b6b (SLUB magic pattern) pattern by kernel and hence corrupting kernel wake lock list. This fix ensures driver load failure caused by TX/RX histogram allocation failure is handled gracefully in low memory conditions without leading to any kernel panic. Change-Id: I17a46c346402642f39e6548cd40bedd1f7ff96a4 CRs-Fixed: 1069014
This is CNSS WLAN Host Driver for products starting from iHelium
描述
儲存庫語言
C
98.7%
C++
0.9%
Makefile
0.3%
Starlark
0.1%