Merge "qcacld-3.0: wma: fix same peer created again issue" into wlan-cld3.driver.lnx.1.1-dev

This commit is contained in:
Service qcabuildsw 2016-10-28 10:23:37 -07:00 • committed by Gerrit - the friendly Code Review server
commit 1189937fac

View file

@ -3412,6 +3412,20 @@ static void wma_add_sta_req_ap_mode(tp_wma_handle wma, tpAddStaParams add_sta)
WMA_LOGE("%s: Peer already exists, Deleted peer with peer_addr %pM",
__func__, add_sta->staMac);
}
/* The code above only checks the peer existence on its own vdev.
* Need to check whether the peer exists on other vDevs because firmware
* can't create the peer if the peer with same MAC address already
* exists on the pDev. As this peer belongs to other vDevs, just return
* here.
*/
peer = ol_txrx_find_peer_by_addr(pdev, add_sta->staMac, &peer_id);
if (peer) {
WMA_LOGE("%s: My vdev:%d, but Peer exists on other vdev with "
"peer_addr %pM and peer_id %d",
__func__, vdev->vdev_id, add_sta->staMac, peer_id);
add_sta->status = QDF_STATUS_E_FAILURE;
goto send_rsp;
}
status = wma_create_peer(wma, pdev, vdev, add_sta->staMac,
WMI_PEER_TYPE_DEFAULT, add_sta->smesessionId,