qcacmn: Fix scan entry assoc state update issue
On disconnecting, the bssid may not be filled in cm_req->discon_req. Zero bssid will fail to update the scan entry to non association state which may block the scan entry age out. Move disconnect bssid fill before update the scan entry for disconnecting. Change-Id: Id8a36d8a37c212af727c7b61a24b51f2782c4a2c CRs-Fixed: 3291599
This commit is contained in:

committato da
Madan Koyyalamudi

parent
5e43636b8c
commit
4b20a11518
@@ -438,6 +438,8 @@ cm_disconnect_continue_after_rso_stop(struct wlan_objmgr_vdev *vdev,
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
||||
wlan_vdev_get_bss_peer_mac(cm_ctx->vdev, &bssid);
|
||||
|
||||
qdf_copy_macaddr(&req->req.bssid, &bssid);
|
||||
/*
|
||||
* for northbound req, bssid is not provided so update it from vdev
|
||||
* in case bssid is not present
|
||||
@@ -446,8 +448,6 @@ cm_disconnect_continue_after_rso_stop(struct wlan_objmgr_vdev *vdev,
|
||||
qdf_is_macaddr_broadcast(&cm_req->discon_req.req.bssid))
|
||||
qdf_copy_macaddr(&cm_req->discon_req.req.bssid,
|
||||
&req->req.bssid);
|
||||
|
||||
qdf_copy_macaddr(&req->req.bssid, &bssid);
|
||||
cm_update_scan_mlme_on_disconnect(cm_ctx->vdev,
|
||||
&cm_req->discon_req);
|
||||
|
||||
|
@@ -1973,6 +1973,10 @@ QDF_STATUS scm_scan_update_mlme_by_bssinfo(struct wlan_objmgr_pdev *pdev,
|
||||
qdf_spin_lock_bh(&scan_db->scan_db_lock);
|
||||
qdf_mem_copy(&entry->mlme_info, mlme,
|
||||
sizeof(struct mlme_info));
|
||||
scm_debug("BSSID: "QDF_MAC_ADDR_FMT" set assoc_state to %d with age %lu ms",
|
||||
QDF_MAC_ADDR_REF(entry->bssid.bytes),
|
||||
mlme->assoc_state,
|
||||
util_scan_entry_age(entry));
|
||||
scm_scan_entry_put_ref(scan_db,
|
||||
cur_node, false);
|
||||
qdf_spin_unlock_bh(&scan_db->scan_db_lock);
|
||||
|
Fai riferimento in un nuovo problema
Block a user