qcacld-3.0: Do not allow get_tx_power for all interfaces
Currently, get_tx_power is given for all interfaces but FW may not respond for interfaces like p2p device mode or NAN. Allow cfg80211_get_tx_power only for STA/P2P_client associated state and SAP/GO started cases. In rest all cases do not give this command to FW. Change-Id: I01ff4f11c35ca00183002d2d1c2c481f3bea77c6 CRs-Fixed: 2502905
This commit is contained in:
parent
596909df06
commit
5d0fe41a93
@ -2154,6 +2154,7 @@ static int __wlan_hdd_cfg80211_get_txpower(struct wiphy *wiphy,
|
||||
struct net_device *ndev = wdev->netdev;
|
||||
struct hdd_adapter *adapter = WLAN_HDD_GET_PRIV_PTR(ndev);
|
||||
int status;
|
||||
struct hdd_station_ctx *sta_ctx;
|
||||
|
||||
hdd_enter_dev(ndev);
|
||||
|
||||
@ -2172,22 +2173,30 @@ static int __wlan_hdd_cfg80211_get_txpower(struct wiphy *wiphy,
|
||||
status = wlan_hdd_validate_vdev_id(adapter->vdev_id);
|
||||
if (status)
|
||||
return status;
|
||||
|
||||
if (adapter->device_mode == QDF_STA_MODE ||
|
||||
adapter->device_mode == QDF_P2P_CLIENT_MODE) {
|
||||
struct hdd_station_ctx *sta_ctx;
|
||||
|
||||
switch (adapter->device_mode) {
|
||||
case QDF_STA_MODE:
|
||||
case QDF_P2P_CLIENT_MODE:
|
||||
sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
|
||||
if (sta_ctx->hdd_reassoc_scenario) {
|
||||
hdd_debug("Roaming is in progress, rej this req");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (sta_ctx->conn_info.conn_state !=
|
||||
eConnectionState_Associated) {
|
||||
hdd_debug("Not associated");
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case QDF_SAP_MODE:
|
||||
case QDF_P2P_GO_MODE:
|
||||
if (!test_bit(SOFTAP_BSS_STARTED, &adapter->event_flags)) {
|
||||
hdd_err("SAP is not started yet");
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
hdd_debug_rl("Current interface is not supported for get tx_power");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (hdd_ctx->driver_status != DRIVER_MODULES_ENABLED) {
|
||||
|
Loading…
Reference in New Issue
Block a user