aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReinette Chatre <reinette.chatre@intel.com>2010-06-25 17:47:02 -0400
committerReinette Chatre <reinette.chatre@intel.com>2010-06-25 17:47:02 -0400
commite691e19e05c2cef72cd7f81bcae4195c81d4bf51 (patch)
treee5a231ecfb36f4fa335b64f1300ce9f831678eee
parent47399f1a7d2059c89df7a1116024d0cd9bc240fa (diff)
parent062bee448bd539580ef9f64efe50fdfe04eeb103 (diff)
Merge branch 'wireless-2.6' into wireless-next-2.6
-rw-r--r--drivers/net/wireless/ath/ath5k/attach.c1
-rw-r--r--drivers/net/wireless/ath/ath9k/ath9k.h1
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c11
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c6
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.c7
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
1383out: 1391out:
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)
214static void iwlagn_rts_tx_cmd_flag(struct ieee80211_tx_info *info, 214static 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}