Shreedhar Parande 08c3b4d0b8 qcacmn: Fix dead lock in connection completion handler
Connection completion handler is called from two scenarios.
Scenario 1: Called via connection flush with lock held
cm_disconnect_complete()-->
cm_flush_pending_request() acquired lock here-->
cm_handle_connect_flush()-->
cm_notify_connect_complete()

Scenario 2: Called via connection response without lock held

In first scenario, cm_notify_connect_complete() calls
cm_is_connect_id_reassoc_in_non_connected() to check if connect
request is a reassoc req and received in not connected state.
This function tries to auqire same lock which leads to dead lock.

To fix this issue, check if cm_notify_connect_complete() is called
with lock held or not. If not, acquire lock and call
cm_is_connect_id_reassoc_in_non_connected().

This prevents dead lock in scenario 1 and allows calling
cm_is_connect_id_reassoc_in_non_connected() with lock held for
scenario 2.

CRs-Fixed: 3351119
Change-Id: I192090777cb2cf0d604e2670a317aaf6f320d086
2022-12-26 13:37:00 -08:00
2022-10-06 18:28:34 -07:00
2022-12-21 13:55:08 -08:00
2021-05-28 03:47:12 -07:00
2022-12-26 03:23:57 -08:00
2017-09-15 21:45:35 +05:30
2017-03-27 08:31:31 -07:00

 This is CNSS WLAN Host Driver for products starting from iHelium  
Descrição
No description provided
Readme 226 MiB
Languages
C 98.7%
C++ 0.9%
Makefile 0.3%
Starlark 0.1%