mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
iwlwifi: Check BSS ctx active before call mac80211
commit e19ebcab01 upstream.
It is possible that the BSS context is not active (for example
when the current mode is set to GO), or that the vif->type is
different than station. In such a case we cannot
call mac80211 to report the average rssi for the interface
(the function assumes that the vif is valid and that the type
is station).
Reported-by: Daniel J Blueman <daniel@quora.org>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
bd9f6140e6
commit
b7ad4aebc7
@@ -617,6 +617,11 @@ static bool iwlagn_fill_txpower_mode(struct iwl_priv *priv,
|
||||
struct iwl_rxon_context *ctx = &priv->contexts[IWL_RXON_CTX_BSS];
|
||||
int ave_rssi;
|
||||
|
||||
if (!ctx->vif || (ctx->vif->type != NL80211_IFTYPE_STATION)) {
|
||||
IWL_DEBUG_INFO(priv, "BSS ctx not active or not in sta mode\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
ave_rssi = ieee80211_ave_rssi(ctx->vif);
|
||||
if (!ave_rssi) {
|
||||
/* no rssi data, no changes to reduce tx power */
|
||||
|
||||
Reference in New Issue
Block a user