qcacld-3.0: Update data path default link after roaming

When roaming happens from 3 Link AP to Legacy or 1 link AP after
a link switch, and the assoc vdev when connected to 3 Link AP is
disconnected during roaming, it causes the DP default link mapping
not to be updated. This resutls in data stall and ultimately
NUD failure is triggered resulting in disconnection.

After roaming to Multilink AP, then update the DP with
the new deflink as the assoc vdev.

CRs-Fixed: 3681911
Change-Id: I114a9858c3cbe58ef59743ad251a2b3af2543d3d
Esse commit está contido em:
Pragaspathi Thilagaraj
2024-02-10 23:44:49 +05:30
commit de Ravindra Konda
commit 6da9ecbb19
4 arquivos alterados com 31 adições e 10 exclusões

Ver arquivo

@@ -624,7 +624,8 @@ QDF_STATUS cm_roam_sync_event_handler_cb(struct wlan_objmgr_vdev *vdev,
goto err;
}
cm_roam_update_vdev(sync_ind, vdev_id);
cm_roam_update_vdev(vdev, sync_ind);
/*
* update phy_mode in wma to avoid mismatch in phymode between host and
* firmware. The phymode stored in peer->peer_mlme.phymode is

Ver arquivo

@@ -1966,8 +1966,8 @@ cm_roam_vendor_handoff_event_handler(struct wlan_objmgr_psoc *psoc,
/**
* cm_roam_update_vdev() - Update the STA and BSS
* @vdev: Pointer to the vdev object
* @sync_ind: Information needed for roam sync propagation
* @vdev_id: vdev id
*
* This function will perform all the vdev related operations with
* respect to the self sta and the peer after roaming and completes
@@ -1975,8 +1975,8 @@ cm_roam_vendor_handoff_event_handler(struct wlan_objmgr_psoc *psoc,
*
* Return: None
*/
void cm_roam_update_vdev(struct roam_offload_synch_ind *sync_ind,
uint8_t vdev_id);
void cm_roam_update_vdev(struct wlan_objmgr_vdev *vdev,
struct roam_offload_synch_ind *sync_ind);
/**
* cm_roam_pe_sync_callback() - Callback registered at pe, gets invoked when