mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 00:00:00 -04:00
qcacld-3.0: Fix peer_mac addr for NDI in hdd_roam_deregister_sta
In function NDI peer is not considered leading to peer_mac address being NULL and API failing for NDI peer. Fix the condition to include NDI device mode and add handling of NDI vdev in hdd_objmgr_add_peer_object. Change-Id: I34b467fdab4a92696d6377306a775f06fadfc1a9 CRs-Fixed: 2137423
This commit is contained in:
parent
b7c701d27c
commit
95eb4063a3
2 changed files with 8 additions and 1 deletions
|
|
@ -1486,18 +1486,23 @@ QDF_STATUS hdd_roam_deregister_sta(struct hdd_adapter *adapter, uint8_t staid)
|
|||
|
||||
if (adapter->device_mode == QDF_STA_MODE) {
|
||||
peer_mac = &sta_ctx->conn_info.bssId;
|
||||
} else if (adapter->device_mode == QDF_IBSS_MODE) {
|
||||
} else if (adapter->device_mode == QDF_IBSS_MODE ||
|
||||
adapter->device_mode == QDF_NDI_MODE) {
|
||||
if (sta_ctx->broadcast_staid == staid)
|
||||
peer_mac = &broadcastMacAddr;
|
||||
else
|
||||
peer_mac =
|
||||
hdd_wlan_get_ibss_mac_addr_from_staid(adapter, staid);
|
||||
}
|
||||
|
||||
if (!peer_mac) {
|
||||
hdd_err("Coudnt find peer MAC for staid %d, delete fails",
|
||||
staid);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
hdd_debug("peer_mac_addr: "MAC_ADDRESS_STR,
|
||||
MAC_ADDR_ARRAY(peer_mac->bytes));
|
||||
ret = hdd_objmgr_remove_peer_object(adapter->hdd_vdev, peer_mac->bytes);
|
||||
if (ret) {
|
||||
hdd_err("Peer obj %pM delete fails", peer_mac);
|
||||
|
|
|
|||
|
|
@ -278,6 +278,8 @@ int hdd_objmgr_add_peer_object(struct wlan_objmgr_vdev *vdev,
|
|||
}
|
||||
} else if (adapter_mode == QDF_IBSS_MODE) {
|
||||
peer_type = WLAN_PEER_IBSS;
|
||||
} else if (adapter_mode == QDF_NDI_MODE) {
|
||||
peer_type = WLAN_PEER_NDP;
|
||||
} else {
|
||||
hdd_err("Unsupported device mode %d", adapter_mode);
|
||||
return -EINVAL;
|
||||
|
|
|
|||
Loading…
Reference in a new issue