qcacmn: Wait for RSO stop response from firmware
Firmware doesn't expect any vdev commands from host while RSO stop is happening. It sends a response to the RSO_STOP command once it's done with cleanup. Host needs to run a timer and wait for a maximum of 6 seconds for the response. Host can stop the timer and allow the commands to firmware in the below cases, 1. RSO_STOP response with success status 2. RSO_STOP response with HO_FAIL status followed by HO_FAIL event: Host needs to wait till HO_FAIL event is received If firmware doesn't send any response in the 6 seconds wait, issue a recovery to help to check the firmware state. Change-Id: I4577f9b0aac71c0c86bd32b59e69d9527bf107b9 CRs-Fixed: 3106032
This commit is contained in:

committed by
Madan Koyyalamudi

부모
e7074b084e
커밋
f8921a74b9
@@ -42,6 +42,7 @@
|
||||
* STOP_RESPONSE_BIT: vdev stop response bit
|
||||
* DELETE_RESPONSE_BIT: vdev delete response bit
|
||||
* PEER_DELETE_ALL_RESPONSE_BIT: vdev peer delete all response bit
|
||||
* RSO_STOP_RESPONSE_BIT : RSO stop response bit
|
||||
*/
|
||||
enum wlan_vdev_mgr_tgt_if_rsp_bit {
|
||||
START_RESPONSE_BIT = 0,
|
||||
@@ -49,6 +50,7 @@ enum wlan_vdev_mgr_tgt_if_rsp_bit {
|
||||
STOP_RESPONSE_BIT = 2,
|
||||
DELETE_RESPONSE_BIT = 3,
|
||||
PEER_DELETE_ALL_RESPONSE_BIT = 4,
|
||||
RSO_STOP_RESPONSE_BIT = 5,
|
||||
RESPONSE_BIT_MAX,
|
||||
};
|
||||
|
||||
@@ -66,6 +68,7 @@ static inline char *string_from_rsp_bit(enum wlan_vdev_mgr_tgt_if_rsp_bit bit)
|
||||
"STOP",
|
||||
"DELETE",
|
||||
"PEER DELETE ALL",
|
||||
"RSO STOP",
|
||||
"RESPONE MAX"};
|
||||
return (char *)strings[bit];
|
||||
}
|
||||
@@ -76,17 +79,20 @@ static inline char *string_from_rsp_bit(enum wlan_vdev_mgr_tgt_if_rsp_bit bit)
|
||||
#define STOP_RESPONSE_TIMER (4000 + PMO_RESUME_TIMEOUT)
|
||||
#define DELETE_RESPONSE_TIMER (4000 + PMO_RESUME_TIMEOUT)
|
||||
#define PEER_DELETE_ALL_RESPONSE_TIMER (6000 + PMO_RESUME_TIMEOUT)
|
||||
#define RSO_STOP_RESPONSE_TIMER (6000 + PMO_RESUME_TIMEOUT)
|
||||
#elif defined(QCA_LOWMEM_CONFIG) || defined(QCA_512M_CONFIG) || \
|
||||
defined(QCA_WIFI_QCA5018)
|
||||
#define START_RESPONSE_TIMER 15000
|
||||
#define STOP_RESPONSE_TIMER 15000
|
||||
#define DELETE_RESPONSE_TIMER 15000
|
||||
#define PEER_DELETE_ALL_RESPONSE_TIMER 15000
|
||||
#define RSO_STOP_RESPONSE_TIMER 15000
|
||||
#else
|
||||
#define START_RESPONSE_TIMER 8000
|
||||
#define STOP_RESPONSE_TIMER 6000
|
||||
#define DELETE_RESPONSE_TIMER 4000
|
||||
#define PEER_DELETE_ALL_RESPONSE_TIMER 6000
|
||||
#define RSO_STOP_RESPONSE_TIMER 6000
|
||||
#endif
|
||||
|
||||
#ifdef WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE
|
||||
|
Reference in New Issue
Block a user