qcacld-3.0: Do not reset the TDLS peer link status to idle
As part of every scan, TDLS component is notified. TDLS component takes decision to allow the scan or not. But after rejecting the scan for max no of times. TDLS peer link status is set to idle which is not expected. Overwriting this link status can lead to not finding the peers to cleanup while 2nd interface is added. Change-Id: I1a0120399118ef7e9168dbcb7b5009a88e000d5c CRs-Fixed: 2435694
Este cometimento está contido em:

cometido por
nshrivas

ascendente
5a7391c0c1
cometimento
4a3de4526f
@@ -1738,7 +1738,6 @@ void tdls_scan_complete_event_handler(struct wlan_objmgr_vdev *vdev,
|
|||||||
|
|
||||||
QDF_STATUS tdls_scan_callback(struct tdls_soc_priv_obj *tdls_soc)
|
QDF_STATUS tdls_scan_callback(struct tdls_soc_priv_obj *tdls_soc)
|
||||||
{
|
{
|
||||||
struct tdls_peer *curr_peer;
|
|
||||||
struct tdls_vdev_priv_obj *tdls_vdev;
|
struct tdls_vdev_priv_obj *tdls_vdev;
|
||||||
struct wlan_objmgr_vdev *vdev;
|
struct wlan_objmgr_vdev *vdev;
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
@@ -1756,20 +1755,12 @@ QDF_STATUS tdls_scan_callback(struct tdls_soc_priv_obj *tdls_soc)
|
|||||||
if (!tdls_vdev)
|
if (!tdls_vdev)
|
||||||
goto return_success;
|
goto return_success;
|
||||||
|
|
||||||
curr_peer = tdls_is_progress(tdls_vdev, NULL, 0);
|
if (tdls_is_progress(tdls_vdev, NULL, 0)) {
|
||||||
if (curr_peer) {
|
|
||||||
if (tdls_soc->scan_reject_count++ >= TDLS_SCAN_REJECT_MAX) {
|
if (tdls_soc->scan_reject_count++ >= TDLS_SCAN_REJECT_MAX) {
|
||||||
tdls_notice(QDF_MAC_ADDR_STR
|
tdls_notice("Allow this scan req. as already max no of scan's are rejected");
|
||||||
". scan rejected %d. force it to idle",
|
|
||||||
QDF_MAC_ADDR_ARRAY(
|
|
||||||
curr_peer->peer_mac.bytes),
|
|
||||||
tdls_soc->scan_reject_count);
|
|
||||||
tdls_soc->scan_reject_count = 0;
|
tdls_soc->scan_reject_count = 0;
|
||||||
|
|
||||||
tdls_set_peer_link_status(curr_peer,
|
|
||||||
TDLS_LINK_IDLE,
|
|
||||||
TDLS_LINK_UNSPECIFIED);
|
|
||||||
status = QDF_STATUS_SUCCESS;
|
status = QDF_STATUS_SUCCESS;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
tdls_warn("tdls in progress. scan rejected %d",
|
tdls_warn("tdls in progress. scan rejected %d",
|
||||||
tdls_soc->scan_reject_count);
|
tdls_soc->scan_reject_count);
|
||||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador