From: Himani Gupta Date: Tue, 23 Apr 2019 13:17:13 +0000 (+0530) Subject: [NEUS7920-477] [9610][7885][7872][7570] wlbt: Added prevention check for vif activation. X-Git-Tag: MMI-QSAS30.62-33-3~869 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=8a3581a6c755cfbf3ed6d36d9af51ded14907e77;p=GitHub%2FMotorolaMobilityLLC%2Fkernel-slsi.git [NEUS7920-477] [9610][7885][7872][7570] wlbt: Added prevention check for vif activation. Added prevention check whether P2P vif is activated or not for p2p_unset_channel. Change-Id: If40092f3fe82023d61496beeedaa9b45f941fa63 SCSC-Bug-Id: SSB-51865 Signed-off-by: Himani Gupta --- diff --git a/drivers/net/wireless/scsc/mgt.c b/drivers/net/wireless/scsc/mgt.c index ea1238f50742..cfb5296b5646 100755 --- a/drivers/net/wireless/scsc/mgt.c +++ b/drivers/net/wireless/scsc/mgt.c @@ -3662,19 +3662,22 @@ static void slsi_p2p_unset_channel_expiry_work(struct work_struct *work) struct net_device *dev = ndev_vif->wdev.netdev; SLSI_MUTEX_LOCK(ndev_vif->vif_mutex); - SLSI_NET_DBG1(ndev_vif->wdev.netdev, SLSI_CFG80211, "Unset channel expiry work-Send Unset Channel\n"); - - if (!ndev_vif->drv_in_p2p_procedure) { - /* Supplicant has stopped FIND/LISTEN. Clear Probe Response IEs in firmware and driver */ - if (slsi_mlme_add_info_elements(sdev, dev, FAPI_PURPOSE_PROBE_RESPONSE, NULL, 0) != 0) - SLSI_NET_ERR(dev, "Clearing Probe Response IEs failed for unsync vif\n"); - slsi_unsync_vif_set_probe_rsp_ie(ndev_vif, NULL, 0); - - /* Send Unset Channel */ - if (ndev_vif->driver_channel != 0) { - slsi_mlme_spare_signal_1(sdev, dev); - ndev_vif->driver_channel = 0; + if (ndev_vif->activated) { + SLSI_NET_DBG1(ndev_vif->wdev.netdev, SLSI_CFG80211, "Unset channel expiry work-Send Unset Channel\n"); + if (!ndev_vif->drv_in_p2p_procedure) { + /* Supplicant has stopped FIND/LISTEN. Clear Probe Response IEs in firmware and driver */ + if (slsi_mlme_add_info_elements(sdev, dev, FAPI_PURPOSE_PROBE_RESPONSE, NULL, 0) != 0) + SLSI_NET_ERR(dev, "Clearing Probe Response IEs failed for unsync vif\n"); + slsi_unsync_vif_set_probe_rsp_ie(ndev_vif, NULL, 0); + + /* Send Unset Channel */ + if (ndev_vif->driver_channel != 0) { + slsi_mlme_spare_signal_1(sdev, dev); + ndev_vif->driver_channel = 0; + } } + } else { + SLSI_NET_ERR(dev, "P2P vif is not activated\n"); } SLSI_MUTEX_UNLOCK(ndev_vif->vif_mutex); }