qcacmn: Handle WMI_REG_CHAN_LIST_CC_EVENTID in worker thread
Somtimes F/W event WMI_REG_CHAN_LIST_CC_EVENTID comes for country code changed before WMI_READY_EVENTID processed completely in worker thread, to update current channel list, hdd_regulatory_dyn_cbk is invoked in scheduler thread and wiphy is extracted from pdev which isn't attached to pdev yet, assert will happen. WMI_READY_EVENTID and WMI_REG_CHAN_LIST_CC_EVENTID should be serialized, both of them should be handled in same context, such as worker thread. Set WMI_REG_CHAN_LIST_CC_EVENTID execution context same as WMI_READY_EVENTID: WMI_RX_WORK_CTX. Host F/W handshake during init: Host <- FW WMI_SERVICE_READY_EVENTID Host <- FW WMI_SERVICE_READY_EXT_EVENTID Host -> FW WMI_INIT_CMDID Host <- FW WMI_REG_CHAN_LIST_CC_EVENTID Host -> FW WMI_SET_CURRENT_COUNTRY_CMDID Host <- FW WMI_READY_EVENTID Host <- FW WMI_REG_CHAN_LIST_CC_EVENTID Change-Id: I922e5f2a9722e9b441cc844dd38b1039dd4d8900 CRs-Fixed: 2689274
Loading
Please register or sign in to comment