qcacld-3.0: Don't repost ROAM event to scheduler thread
Currently, the ROAM event is posted to scheduler thread when it's received from firmware. This is done to avoid processing the complete event in IRQ context as the same callback gets called from IRQ context for WOW events(WOW_REASON_LOW_RSSI and WOW_REASON_HO_FAIL). Posting the ROAM event to scheduler thread may introduce some additional delay in processing it back as there would be a context switch. If this ROAM event carries ROAM_START which is followed by a ROAM_SYNC event, there is chance to process the ROAM_SYNC before ROAM_START as ROAM_SYNC would be processed in the same context whereas ROAM_START needs a context switch. This results into an invalid connection manager state after processing ROAM_START event, which results a connection failure. Same is applicable for ROAM_PMKID_REQ_EVENT and ROAM_VDEV_DISCONNECT_EVENT. Avoid reposting the same to scheduler thread. Change-Id: Ic4fc1b3baf12e4ceee9a0975ebfee77fb88ab6f0 CRs-Fixed: 3033657
Esse commit está contido em:

commit de
Madan Koyyalamudi

pai
2aada2b493
commit
f1e2971dd9
@@ -1883,13 +1883,11 @@ struct cm_roam_scan_ch_resp {
|
||||
* enum roam_dispatcher_events - Roam events to post to scheduler thread
|
||||
* @ROAM_EVENT_INVALID: Invalid event
|
||||
* @ROAM_PMKID_REQ_EVENT: Roam pmkid request event
|
||||
* @ROAM_EVENT: Roam event
|
||||
* @ROAM_VDEV_DISCONNECT_EVENT: Roam disconnect event
|
||||
*/
|
||||
enum roam_dispatcher_events {
|
||||
ROAM_EVENT_INVALID,
|
||||
ROAM_PMKID_REQ_EVENT,
|
||||
ROAM_EVENT,
|
||||
ROAM_VDEV_DISCONNECT_EVENT,
|
||||
};
|
||||
#endif
|
||||
|
Referência em uma nova issue
Block a user