From de062d80ca848562280a44c504269e622cafb74b Mon Sep 17 00:00:00 2001 From: Om Prakash Tripathi Date: Fri, 11 May 2018 16:41:26 +0530 Subject: [PATCH] qcacmn: Release peer ref if mem malloc fails and reset system Logically deleted peers are used by umac for host/fw synchronization. Any failure to return logically deleted peers is catastrophic and will end up in random behavior/fw assert. This change makes below changes: 1. Release peer reference on malloc failure 2. Reset system if malloc fails 3. Move print log level to FATAL Change-Id: I229f0e83a97b44b4436b4f9945265dcaf85901fd CRs-Fixed: 2240560 --- umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c b/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c index 083bdfd74d..c3ceac3791 100644 --- a/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c +++ b/umac/cmn_services/obj_mgr/src/wlan_objmgr_psoc_obj.c @@ -1362,8 +1362,10 @@ static qdf_list_t qdf_mem_malloc( sizeof(struct wlan_logically_del_peer)); if (peer_list == NULL) { + wlan_objmgr_peer_release_ref(peer, dbg_id); /* Lock is already released */ - obj_mgr_err("Mem alloc failed"); + obj_mgr_alert("Mem alloc failed"); + WLAN_OBJMGR_BUG(0); break; }