Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6

+18 -7
+1
drivers/net/wireless/ath/ath9k/ath9k.h
··· 445 445 #define SC_OP_TSF_RESET BIT(11) 446 446 #define SC_OP_BT_PRIORITY_DETECTED BIT(12) 447 447 #define SC_OP_BT_SCAN BIT(13) 448 + #define SC_OP_ANI_RUN BIT(14) 448 449 449 450 /* Powersave flags */ 450 451 #define PS_WAIT_FOR_BEACON BIT(0)
+10 -1
drivers/net/wireless/ath/ath9k/main.c
··· 336 336 static void ath_start_ani(struct ath_common *common) 337 337 { 338 338 unsigned long timestamp = jiffies_to_msecs(jiffies); 339 + struct ath_softc *sc = (struct ath_softc *) common->priv; 340 + 341 + if (!(sc->sc_flags & SC_OP_ANI_RUN)) 342 + return; 339 343 340 344 common->ani.longcal_timer = timestamp; 341 345 common->ani.shortcal_timer = timestamp; ··· 876 872 /* Reset rssi stats */ 877 873 sc->sc_ah->stats.avgbrssi = ATH_RSSI_DUMMY_MARKER; 878 874 875 + sc->sc_flags |= SC_OP_ANI_RUN; 879 876 ath_start_ani(common); 880 877 } else { 881 878 ath_print(common, ATH_DBG_CONFIG, "Bss Info DISASSOC\n"); 882 879 common->curaid = 0; 883 880 /* Stop ANI */ 881 + sc->sc_flags &= ~SC_OP_ANI_RUN; 884 882 del_timer_sync(&common->ani.timer); 885 883 } 886 884 } ··· 1484 1478 1485 1479 if (vif->type == NL80211_IFTYPE_AP || 1486 1480 vif->type == NL80211_IFTYPE_ADHOC || 1487 - vif->type == NL80211_IFTYPE_MONITOR) 1481 + vif->type == NL80211_IFTYPE_MONITOR) { 1482 + sc->sc_flags |= SC_OP_ANI_RUN; 1488 1483 ath_start_ani(common); 1484 + } 1489 1485 1490 1486 out: 1491 1487 mutex_unlock(&sc->mutex); ··· 1508 1500 mutex_lock(&sc->mutex); 1509 1501 1510 1502 /* Stop ANI */ 1503 + sc->sc_flags &= ~SC_OP_ANI_RUN; 1511 1504 del_timer_sync(&common->ani.timer); 1512 1505 1513 1506 /* Reclaim beacon resources */
+1 -5
drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c
··· 212 212 static void iwlagn_rts_tx_cmd_flag(struct ieee80211_tx_info *info, 213 213 __le32 *tx_flags) 214 214 { 215 - if ((info->control.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) || 216 - (info->control.rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT)) 217 - *tx_flags |= TX_CMD_FLG_RTS_CTS_MSK; 218 - else 219 - *tx_flags &= ~TX_CMD_FLG_RTS_CTS_MSK; 215 + *tx_flags |= TX_CMD_FLG_RTS_CTS_MSK; 220 216 } 221 217 222 218 /* Calc max signal level (dBm) among 3 possible receivers */
+6 -1
drivers/net/wireless/iwlwifi/iwl-core.c
··· 1314 1314 changed_flags, *total_flags); 1315 1315 1316 1316 CHK(FIF_OTHER_BSS | FIF_PROMISC_IN_BSS, RXON_FILTER_PROMISC_MSK); 1317 - CHK(FIF_ALLMULTI, RXON_FILTER_ACCEPT_GRP_MSK); 1318 1317 CHK(FIF_CONTROL, RXON_FILTER_CTL2HOST_MSK); 1319 1318 CHK(FIF_BCN_PRBRESP_PROMISC, RXON_FILTER_BCON_AWARE_MSK); 1320 1319 ··· 1328 1329 1329 1330 mutex_unlock(&priv->mutex); 1330 1331 1332 + /* 1333 + * Receiving all multicast frames is always enabled by the 1334 + * default flags setup in iwl_connection_init_rx_config() 1335 + * since we currently do not support programming multicast 1336 + * filters into the device. 1337 + */ 1331 1338 *total_flags &= FIF_OTHER_BSS | FIF_ALLMULTI | FIF_PROMISC_IN_BSS | 1332 1339 FIF_BCN_PRBRESP_PROMISC | FIF_CONTROL; 1333 1340 }