qcacmn: Support connect/disconnect request due to cfg change

Add enum to indicate the connect or disconnect request initiated
due to a config change.

Change-Id: I68e058f37f00b548076874c97903dc78d4f4cb25
CRs-Fixed: 2826533
This commit is contained in:
Himanshu Batra
2020-11-24 15:50:02 +05:30
committed by snandini
parent c528ee61e6
commit 70fc6c603c
3 changed files with 7 additions and 1 deletions

View File

@@ -517,7 +517,8 @@ cm_handle_discon_req_in_non_connected_state(struct cnx_mgr *cm_ctx,
* been received, hence skip the non-osif disconnect request. * been received, hence skip the non-osif disconnect request.
*/ */
if (cur_state == WLAN_CM_S_CONNECTING && if (cur_state == WLAN_CM_S_CONNECTING &&
cm_req->req.source != CM_OSIF_DISCONNECT) { (cm_req->req.source != CM_OSIF_DISCONNECT &&
cm_req->req.source != CM_OSIF_CFG_DISCONNECT)) {
mlme_info("Vdev %d ignore disconnect req from source %d in state %d", mlme_info("Vdev %d ignore disconnect req from source %d in state %d",
wlan_vdev_get_id(cm_ctx->vdev), cm_req->req.source, wlan_vdev_get_id(cm_ctx->vdev), cm_req->req.source,
cm_state_substate); cm_state_substate);

View File

@@ -27,6 +27,7 @@ static uint32_t cm_get_prefix_for_cm_id(enum wlan_cm_source source) {
switch (source) { switch (source) {
case CM_OSIF_CONNECT: case CM_OSIF_CONNECT:
case CM_ROAMING: case CM_ROAMING:
case CM_OSIF_CFG_CONNECT:
return CONNECT_REQ_PREFIX; return CONNECT_REQ_PREFIX;
default: default:
return DISCONNECT_REQ_PREFIX; return DISCONNECT_REQ_PREFIX;

View File

@@ -119,6 +119,8 @@ struct wlan_fils_con_info {
* @CM_INTERNAL_DISCONNECT: Internal disconnect initiated by Connection manager * @CM_INTERNAL_DISCONNECT: Internal disconnect initiated by Connection manager
* on receiving the back to back commands * on receiving the back to back commands
* @CM_ROAM_DISCONNECT: Disconnect req due to HO failure * @CM_ROAM_DISCONNECT: Disconnect req due to HO failure
* @CM_OSIF_CFG_CONNECT: Connect request initiated due to config change
* @CM_OSIF_CFG_DISCONNECT: Disconnect request initiated due to config change
* @CM_SOURCE_MAX: max value of connection manager source * @CM_SOURCE_MAX: max value of connection manager source
* @CM_SOURCE_INVALID: Invalid connection manager req source * @CM_SOURCE_INVALID: Invalid connection manager req source
*/ */
@@ -131,6 +133,8 @@ enum wlan_cm_source {
CM_MLME_DISCONNECT, CM_MLME_DISCONNECT,
CM_INTERNAL_DISCONNECT, CM_INTERNAL_DISCONNECT,
CM_ROAM_DISCONNECT, CM_ROAM_DISCONNECT,
CM_OSIF_CFG_CONNECT,
CM_OSIF_CFG_DISCONNECT,
CM_SOURCE_MAX, CM_SOURCE_MAX,
CM_SOURCE_INVALID = CM_SOURCE_MAX, CM_SOURCE_INVALID = CM_SOURCE_MAX,
}; };