ソースを参照

ath5k: fix NULL pointer in antenna configuration

If the channel is not set yet and we configure the antennas just store the
setting. It will be activated during the next reset, when the channel is set.

Signed-off-by: Bruno Randolf <br1@einfach.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Bruno Randolf 15 年 前
コミット
436c109adb
1 ファイル変更7 行追加0 行削除
  1. 7 0
      drivers/net/wireless/ath/ath5k/phy.c

+ 7 - 0
drivers/net/wireless/ath/ath5k/phy.c

@@ -1814,6 +1814,13 @@ ath5k_hw_set_antenna_mode(struct ath5k_hw *ah, u8 ant_mode)
 	u8 def_ant, tx_ant, ee_mode;
 	u8 def_ant, tx_ant, ee_mode;
 	u32 sta_id1 = 0;
 	u32 sta_id1 = 0;
 
 
+	/* if channel is not initialized yet we can't set the antennas
+	 * so just store the mode. it will be set on the next reset */
+	if (channel == NULL) {
+		ah->ah_ant_mode = ant_mode;
+		return;
+	}
+
 	def_ant = ah->ah_def_ant;
 	def_ant = ah->ah_def_ant;
 
 
 	ATH5K_TRACE(ah->ah_sc);
 	ATH5K_TRACE(ah->ah_sc);