diff options
author | Reinette Chatre <reinette.chatre@intel.com> | 2010-06-25 17:47:02 -0400 |
---|---|---|
committer | Reinette Chatre <reinette.chatre@intel.com> | 2010-06-25 17:47:02 -0400 |
commit | e691e19e05c2cef72cd7f81bcae4195c81d4bf51 (patch) | |
tree | e5a231ecfb36f4fa335b64f1300ce9f831678eee | |
parent | 47399f1a7d2059c89df7a1116024d0cd9bc240fa (diff) | |
parent | 062bee448bd539580ef9f64efe50fdfe04eeb103 (diff) |
Merge branch 'wireless-2.6' into wireless-next-2.6
-rw-r--r-- | drivers/net/wireless/ath/ath5k/attach.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ath9k.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 11 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.c | 7 |
5 files changed, 19 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath/ath5k/attach.c b/drivers/net/wireless/ath/ath5k/attach.c index ef2dc1dd3a5d..b32e28caeee2 100644 --- a/drivers/net/wireless/ath/ath5k/attach.c +++ b/drivers/net/wireless/ath/ath5k/attach.c | |||
@@ -126,6 +126,7 @@ int ath5k_hw_attach(struct ath5k_softc *sc) | |||
126 | ah->ah_ant_mode = AR5K_ANTMODE_DEFAULT; | 126 | ah->ah_ant_mode = AR5K_ANTMODE_DEFAULT; |
127 | ah->ah_noise_floor = -95; /* until first NF calibration is run */ | 127 | ah->ah_noise_floor = -95; /* until first NF calibration is run */ |
128 | sc->ani_state.ani_mode = ATH5K_ANI_MODE_AUTO; | 128 | sc->ani_state.ani_mode = ATH5K_ANI_MODE_AUTO; |
129 | ah->ah_current_channel = &sc->channels[0]; | ||
129 | 130 | ||
130 | /* | 131 | /* |
131 | * Find the mac version | 132 | * Find the mac version |
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index b1e977c3354f..72d5e52abb8f 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h | |||
@@ -519,6 +519,7 @@ void ath_deinit_leds(struct ath_softc *sc); | |||
519 | #define SC_OP_TSF_RESET BIT(11) | 519 | #define SC_OP_TSF_RESET BIT(11) |
520 | #define SC_OP_BT_PRIORITY_DETECTED BIT(12) | 520 | #define SC_OP_BT_PRIORITY_DETECTED BIT(12) |
521 | #define SC_OP_BT_SCAN BIT(13) | 521 | #define SC_OP_BT_SCAN BIT(13) |
522 | #define SC_OP_ANI_RUN BIT(14) | ||
522 | 523 | ||
523 | /* Powersave flags */ | 524 | /* Powersave flags */ |
524 | #define PS_WAIT_FOR_BEACON BIT(0) | 525 | #define PS_WAIT_FOR_BEACON BIT(0) |
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 87356fc6f4cd..efbf53534ade 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -452,6 +452,10 @@ static void ath_start_ani(struct ath_common *common) | |||
452 | { | 452 | { |
453 | struct ath_hw *ah = common->ah; | 453 | struct ath_hw *ah = common->ah; |
454 | unsigned long timestamp = jiffies_to_msecs(jiffies); | 454 | unsigned long timestamp = jiffies_to_msecs(jiffies); |
455 | struct ath_softc *sc = (struct ath_softc *) common->priv; | ||
456 | |||
457 | if (!(sc->sc_flags & SC_OP_ANI_RUN)) | ||
458 | return; | ||
455 | 459 | ||
456 | common->ani.longcal_timer = timestamp; | 460 | common->ani.longcal_timer = timestamp; |
457 | common->ani.shortcal_timer = timestamp; | 461 | common->ani.shortcal_timer = timestamp; |
@@ -767,11 +771,13 @@ static void ath9k_bss_assoc_info(struct ath_softc *sc, | |||
767 | /* Reset rssi stats */ | 771 | /* Reset rssi stats */ |
768 | sc->sc_ah->stats.avgbrssi = ATH_RSSI_DUMMY_MARKER; | 772 | sc->sc_ah->stats.avgbrssi = ATH_RSSI_DUMMY_MARKER; |
769 | 773 | ||
774 | sc->sc_flags |= SC_OP_ANI_RUN; | ||
770 | ath_start_ani(common); | 775 | ath_start_ani(common); |
771 | } else { | 776 | } else { |
772 | ath_print(common, ATH_DBG_CONFIG, "Bss Info DISASSOC\n"); | 777 | ath_print(common, ATH_DBG_CONFIG, "Bss Info DISASSOC\n"); |
773 | common->curaid = 0; | 778 | common->curaid = 0; |
774 | /* Stop ANI */ | 779 | /* Stop ANI */ |
780 | sc->sc_flags &= ~SC_OP_ANI_RUN; | ||
775 | del_timer_sync(&common->ani.timer); | 781 | del_timer_sync(&common->ani.timer); |
776 | } | 782 | } |
777 | } | 783 | } |
@@ -1377,8 +1383,10 @@ static int ath9k_add_interface(struct ieee80211_hw *hw, | |||
1377 | 1383 | ||
1378 | if (vif->type == NL80211_IFTYPE_AP || | 1384 | if (vif->type == NL80211_IFTYPE_AP || |
1379 | vif->type == NL80211_IFTYPE_ADHOC || | 1385 | vif->type == NL80211_IFTYPE_ADHOC || |
1380 | vif->type == NL80211_IFTYPE_MONITOR) | 1386 | vif->type == NL80211_IFTYPE_MONITOR) { |
1387 | sc->sc_flags |= SC_OP_ANI_RUN; | ||
1381 | ath_start_ani(common); | 1388 | ath_start_ani(common); |
1389 | } | ||
1382 | 1390 | ||
1383 | out: | 1391 | out: |
1384 | mutex_unlock(&sc->mutex); | 1392 | mutex_unlock(&sc->mutex); |
@@ -1399,6 +1407,7 @@ static void ath9k_remove_interface(struct ieee80211_hw *hw, | |||
1399 | mutex_lock(&sc->mutex); | 1407 | mutex_lock(&sc->mutex); |
1400 | 1408 | ||
1401 | /* Stop ANI */ | 1409 | /* Stop ANI */ |
1410 | sc->sc_flags &= ~SC_OP_ANI_RUN; | ||
1402 | del_timer_sync(&common->ani.timer); | 1411 | del_timer_sync(&common->ani.timer); |
1403 | 1412 | ||
1404 | /* Reclaim beacon resources */ | 1413 | /* Reclaim beacon resources */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c b/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c index 3f765ba15cb8..d89a11c6558e 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c | |||
@@ -214,11 +214,7 @@ static void iwlagn_chain_noise_reset(struct iwl_priv *priv) | |||
214 | static void iwlagn_rts_tx_cmd_flag(struct ieee80211_tx_info *info, | 214 | static void iwlagn_rts_tx_cmd_flag(struct ieee80211_tx_info *info, |
215 | __le32 *tx_flags) | 215 | __le32 *tx_flags) |
216 | { | 216 | { |
217 | if ((info->control.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) || | 217 | *tx_flags |= TX_CMD_FLG_RTS_CTS_MSK; |
218 | (info->control.rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT)) | ||
219 | *tx_flags |= TX_CMD_FLG_RTS_CTS_MSK; | ||
220 | else | ||
221 | *tx_flags &= ~TX_CMD_FLG_RTS_CTS_MSK; | ||
222 | } | 218 | } |
223 | 219 | ||
224 | /* Calc max signal level (dBm) among 3 possible receivers */ | 220 | /* Calc max signal level (dBm) among 3 possible receivers */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c index 62c50bc0089a..329e5107b5c3 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.c +++ b/drivers/net/wireless/iwlwifi/iwl-core.c | |||
@@ -1331,7 +1331,6 @@ void iwl_configure_filter(struct ieee80211_hw *hw, | |||
1331 | changed_flags, *total_flags); | 1331 | changed_flags, *total_flags); |
1332 | 1332 | ||
1333 | CHK(FIF_OTHER_BSS | FIF_PROMISC_IN_BSS, RXON_FILTER_PROMISC_MSK); | 1333 | CHK(FIF_OTHER_BSS | FIF_PROMISC_IN_BSS, RXON_FILTER_PROMISC_MSK); |
1334 | CHK(FIF_ALLMULTI, RXON_FILTER_ACCEPT_GRP_MSK); | ||
1335 | CHK(FIF_CONTROL, RXON_FILTER_CTL2HOST_MSK); | 1334 | CHK(FIF_CONTROL, RXON_FILTER_CTL2HOST_MSK); |
1336 | CHK(FIF_BCN_PRBRESP_PROMISC, RXON_FILTER_BCON_AWARE_MSK); | 1335 | CHK(FIF_BCN_PRBRESP_PROMISC, RXON_FILTER_BCON_AWARE_MSK); |
1337 | 1336 | ||
@@ -1346,6 +1345,12 @@ void iwl_configure_filter(struct ieee80211_hw *hw, | |||
1346 | 1345 | ||
1347 | mutex_unlock(&priv->mutex); | 1346 | mutex_unlock(&priv->mutex); |
1348 | 1347 | ||
1348 | /* | ||
1349 | * Receiving all multicast frames is always enabled by the | ||
1350 | * default flags setup in iwl_connection_init_rx_config() | ||
1351 | * since we currently do not support programming multicast | ||
1352 | * filters into the device. | ||
1353 | */ | ||
1349 | *total_flags &= FIF_OTHER_BSS | FIF_ALLMULTI | FIF_PROMISC_IN_BSS | | 1354 | *total_flags &= FIF_OTHER_BSS | FIF_ALLMULTI | FIF_PROMISC_IN_BSS | |
1350 | FIF_BCN_PRBRESP_PROMISC | FIF_CONTROL; | 1355 | FIF_BCN_PRBRESP_PROMISC | FIF_CONTROL; |
1351 | } | 1356 | } |