mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
qcacld-3.0: For host-invoked roaming to same AP, don't to send null frm
During host invoked roaming, set WMI_ROAM_INVOKE_FLAG_NO_NULL_FRAME_TO_AP flag so that FW will not send NULL data frame while doing transition to same bssid. CRs-Fixed: 2046964 Change-Id: I043c3d2431e4da5af36fb710bd36a520550abbd3
This commit is contained in:
parent
44aa5aa772
commit
332f4afc05
4 changed files with 17 additions and 3 deletions
|
|
@ -802,10 +802,16 @@ void hdd_wma_send_fastreassoc_cmd(struct hdd_adapter *adapter,
|
|||
const tSirMacAddr bssid, int channel)
|
||||
{
|
||||
hdd_wext_state_t *wext_state = WLAN_HDD_GET_WEXT_STATE_PTR(adapter);
|
||||
struct hdd_station_ctx *hdd_sta_ctx =
|
||||
WLAN_HDD_GET_STATION_CTX_PTR(adapter);
|
||||
tCsrRoamProfile *profile = &wext_state->roamProfile;
|
||||
tSirMacAddr connected_bssid;
|
||||
|
||||
qdf_mem_copy(connected_bssid, hdd_sta_ctx->conn_info.bssId.bytes,
|
||||
ETH_ALEN);
|
||||
sme_fast_reassoc(WLAN_HDD_GET_HAL_CTX(adapter),
|
||||
profile, bssid, channel, adapter->sessionId);
|
||||
profile, bssid, channel, adapter->sessionId,
|
||||
connected_bssid);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -1488,12 +1488,13 @@ QDF_STATUS sme_get_beacon_frm(tHalHandle hal, tCsrRoamProfile *profile,
|
|||
* @bssid: bssid to look for in scan cache
|
||||
* @channel: channel on which reassoc should be send
|
||||
* @vdev_id: vdev id
|
||||
* @connected_bssid: bssid of currently connected profile
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS sme_fast_reassoc(tHalHandle hal, tCsrRoamProfile *profile,
|
||||
const tSirMacAddr bssid, int channel,
|
||||
uint8_t vdev_id);
|
||||
uint8_t vdev_id, const tSirMacAddr connected_bssid);
|
||||
|
||||
/**
|
||||
* sme_congestion_register_callback(): registers congestion callback
|
||||
|
|
|
|||
|
|
@ -15663,7 +15663,7 @@ free_scan_flter:
|
|||
|
||||
QDF_STATUS sme_fast_reassoc(tHalHandle hal, tCsrRoamProfile *profile,
|
||||
const tSirMacAddr bssid, int channel,
|
||||
uint8_t vdev_id)
|
||||
uint8_t vdev_id, const tSirMacAddr connected_bssid)
|
||||
{
|
||||
QDF_STATUS status;
|
||||
struct wma_roam_invoke_cmd *fastreassoc;
|
||||
|
|
@ -15674,6 +15674,11 @@ QDF_STATUS sme_fast_reassoc(tHalHandle hal, tCsrRoamProfile *profile,
|
|||
sme_err("qdf_mem_malloc failed for fastreassoc");
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
}
|
||||
/* if both are same then set the flag */
|
||||
if (!qdf_mem_cmp(connected_bssid, bssid, ETH_ALEN)) {
|
||||
fastreassoc->is_same_bssid = true;
|
||||
sme_debug("bssid same, bssid[%pM]", bssid);
|
||||
}
|
||||
fastreassoc->vdev_id = vdev_id;
|
||||
fastreassoc->bssid[0] = bssid[0];
|
||||
fastreassoc->bssid[1] = bssid[1];
|
||||
|
|
|
|||
|
|
@ -2108,6 +2108,7 @@ typedef struct wma_unit_test_cmd {
|
|||
* @channel: channel
|
||||
* @frame_len: frame length, includs mac header, fixed params and ies
|
||||
* @frame_buf: buffer contaning probe response or beacon
|
||||
* @is_same_bssid: flag to indicate if roaming is requested for same bssid
|
||||
*/
|
||||
struct wma_roam_invoke_cmd {
|
||||
uint32_t vdev_id;
|
||||
|
|
@ -2115,6 +2116,7 @@ struct wma_roam_invoke_cmd {
|
|||
uint32_t channel;
|
||||
uint32_t frame_len;
|
||||
uint8_t *frame_buf;
|
||||
uint8_t is_same_bssid;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue