瀏覽代碼

iwl4965: set tx power after rxon_assoc

Setting tx power can be deferred during scan or changing channel.
If after that correct tx power settings will not be sent to device,
we can observe transmission problems and timeouts. Force to send
tx power settings also after partial rxon change, to assure device
always be configured with up-to-date settings.

Resolves:
https://bugzilla.kernel.org/show_bug.cgi?id=36492

Cc: stable@kernel.org # 2.6.39+
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Stanislaw Gruszka 14 年之前
父節點
當前提交
51892dbbd5
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/net/wireless/iwlegacy/iwl-4965.c

+ 2 - 1
drivers/net/wireless/iwlegacy/iwl-4965.c

@@ -1237,7 +1237,7 @@ static int iwl4965_commit_rxon(struct iwl_priv *priv, struct iwl_rxon_context *c
 
 
 		memcpy(active_rxon, &ctx->staging, sizeof(*active_rxon));
 		memcpy(active_rxon, &ctx->staging, sizeof(*active_rxon));
 		iwl_legacy_print_rx_config_cmd(priv, ctx);
 		iwl_legacy_print_rx_config_cmd(priv, ctx);
-		return 0;
+		goto set_tx_power;
 	}
 	}
 
 
 	/* If we are currently associated and the new config requires
 	/* If we are currently associated and the new config requires
@@ -1317,6 +1317,7 @@ static int iwl4965_commit_rxon(struct iwl_priv *priv, struct iwl_rxon_context *c
 
 
 	iwl4965_init_sensitivity(priv);
 	iwl4965_init_sensitivity(priv);
 
 
+set_tx_power:
 	/* If we issue a new RXON command which required a tune then we must
 	/* If we issue a new RXON command which required a tune then we must
 	 * send a new TXPOWER command or we won't be able to Tx any frames */
 	 * send a new TXPOWER command or we won't be able to Tx any frames */
 	ret = iwl_legacy_set_tx_power(priv, priv->tx_power_next, true);
 	ret = iwl_legacy_set_tx_power(priv, priv->tx_power_next, true);