aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorNick Kossifidis <mickflemm@gmail.com>2010-11-23 14:42:22 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-11-30 13:53:43 -0500
commitc2b0ebef262e0a9b64f7ea8ec837cfc29605bef7 (patch)
treee1de9522eb1332188fd3d3dc5c57e534cc997715 /drivers/net/wireless
parent8aec7af99b1e4594c4bb9e1c48005e6111f97e8e (diff)
ath5k: No need to save/restore staid flags on reset
* Since we set antenna flags on phy init and ack bitrate mode on pcu init, there is no need to save/restore sta_id flags on ath5k_hw_reset. Also we don't need to re-set our mac address because it's not affected by resets. Signed-off-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/ath5k/reset.c22
1 files changed, 1 insertions, 21 deletions
diff --git a/drivers/net/wireless/ath/ath5k/reset.c b/drivers/net/wireless/ath/ath5k/reset.c
index e02bcbbd7a80..c72910015454 100644
--- a/drivers/net/wireless/ath/ath5k/reset.c
+++ b/drivers/net/wireless/ath/ath5k/reset.c
@@ -940,13 +940,11 @@ static void ath5k_hw_commit_eeprom_settings(struct ath5k_hw *ah,
940int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode, 940int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
941 struct ieee80211_channel *channel, bool fast, bool skip_pcu) 941 struct ieee80211_channel *channel, bool fast, bool skip_pcu)
942{ 942{
943 struct ath_common *common = ath5k_hw_common(ah); 943 u32 s_seq[10], s_led[3], tsf_up, tsf_lo;
944 u32 s_seq[10], s_led[3], staid1_flags, tsf_up, tsf_lo;
945 u8 mode, freq, ee_mode; 944 u8 mode, freq, ee_mode;
946 int i, ret; 945 int i, ret;
947 946
948 ee_mode = 0; 947 ee_mode = 0;
949 staid1_flags = 0;
950 tsf_up = 0; 948 tsf_up = 0;
951 tsf_lo = 0; 949 tsf_lo = 0;
952 freq = 0; 950 freq = 0;
@@ -1115,15 +1113,6 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
1115 s_led[1] = ath5k_hw_reg_read(ah, AR5K_GPIOCR); 1113 s_led[1] = ath5k_hw_reg_read(ah, AR5K_GPIOCR);
1116 s_led[2] = ath5k_hw_reg_read(ah, AR5K_GPIODO); 1114 s_led[2] = ath5k_hw_reg_read(ah, AR5K_GPIODO);
1117 1115
1118 /* AR5K_STA_ID1 flags, only preserve antenna
1119 * settings and ack/cts rate mode */
1120 staid1_flags = ath5k_hw_reg_read(ah, AR5K_STA_ID1) &
1121 (AR5K_STA_ID1_DEFAULT_ANTENNA |
1122 AR5K_STA_ID1_DESC_ANTENNA |
1123 AR5K_STA_ID1_RTS_DEF_ANTENNA |
1124 AR5K_STA_ID1_ACKCTS_6MB |
1125 AR5K_STA_ID1_BASE_RATE_11B |
1126 AR5K_STA_ID1_SELFGEN_DEF_ANT);
1127 1116
1128 /* 1117 /*
1129 * Since we are going to write rf buffer 1118 * Since we are going to write rf buffer
@@ -1195,15 +1184,6 @@ int ath5k_hw_reset(struct ath5k_hw *ah, enum nl80211_iftype op_mode,
1195 ath5k_hw_reg_write(ah, s_led[1], AR5K_GPIOCR); 1184 ath5k_hw_reg_write(ah, s_led[1], AR5K_GPIOCR);
1196 ath5k_hw_reg_write(ah, s_led[2], AR5K_GPIODO); 1185 ath5k_hw_reg_write(ah, s_led[2], AR5K_GPIODO);
1197 1186
1198 /* Restore sta_id flags and preserve our mac address*/
1199 ath5k_hw_reg_write(ah,
1200 get_unaligned_le32(common->macaddr),
1201 AR5K_STA_ID0);
1202 ath5k_hw_reg_write(ah,
1203 staid1_flags | get_unaligned_le16(common->macaddr + 4),
1204 AR5K_STA_ID1);
1205
1206
1207 /* 1187 /*
1208 * Initialize PCU 1188 * Initialize PCU
1209 */ 1189 */