main.c (69dbdd819599e2f3b77c172e83af512845bca5ad) main.c (5f841b4130a639e5f0fbcf4a9b26045d734e4ee6)
1/*
2 * Copyright (c) 2008-2009 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

--- 1203 unchanged lines hidden (view full) ---

1212 ah->imask |= ATH9K_INT_RX;
1213
1214 ah->imask |= ATH9K_INT_GTT;
1215
1216 if (ah->caps.hw_caps & ATH9K_HW_CAP_HT)
1217 ah->imask |= ATH9K_INT_CST;
1218
1219 sc->sc_flags &= ~SC_OP_INVALID;
1/*
2 * Copyright (c) 2008-2009 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

--- 1203 unchanged lines hidden (view full) ---

1212 ah->imask |= ATH9K_INT_RX;
1213
1214 ah->imask |= ATH9K_INT_GTT;
1215
1216 if (ah->caps.hw_caps & ATH9K_HW_CAP_HT)
1217 ah->imask |= ATH9K_INT_CST;
1218
1219 sc->sc_flags &= ~SC_OP_INVALID;
1220 sc->sc_ah->is_monitoring = false;
1220
1221 /* Disable BMISS interrupt when we're not associated */
1222 ah->imask &= ~(ATH9K_INT_SWBA | ATH9K_INT_BMISS);
1223 ath9k_hw_set_interrupts(ah, ah->imask);
1224
1225 ieee80211_wake_queues(hw);
1226
1227 ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work, 0);

--- 260 unchanged lines hidden (view full) ---

1488 if (ah->config.enable_ani)
1489 ah->imask |= ATH9K_INT_MIB;
1490 ah->imask |= ATH9K_INT_TSFOOR;
1491 }
1492
1493 ath9k_hw_set_interrupts(ah, ah->imask);
1494
1495 if (vif->type == NL80211_IFTYPE_AP ||
1221
1222 /* Disable BMISS interrupt when we're not associated */
1223 ah->imask &= ~(ATH9K_INT_SWBA | ATH9K_INT_BMISS);
1224 ath9k_hw_set_interrupts(ah, ah->imask);
1225
1226 ieee80211_wake_queues(hw);
1227
1228 ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work, 0);

--- 260 unchanged lines hidden (view full) ---

1489 if (ah->config.enable_ani)
1490 ah->imask |= ATH9K_INT_MIB;
1491 ah->imask |= ATH9K_INT_TSFOOR;
1492 }
1493
1494 ath9k_hw_set_interrupts(ah, ah->imask);
1495
1496 if (vif->type == NL80211_IFTYPE_AP ||
1496 vif->type == NL80211_IFTYPE_ADHOC ||
1497 vif->type == NL80211_IFTYPE_MONITOR) {
1497 vif->type == NL80211_IFTYPE_ADHOC) {
1498 sc->sc_flags |= SC_OP_ANI_RUN;
1499 ath_start_ani(common);
1500 }
1501
1502out:
1503 mutex_unlock(&sc->mutex);
1504 return ret;
1505}

--- 133 unchanged lines hidden (view full) ---

1639 else
1640 ath9k_disable_ps(sc);
1641 spin_unlock_irqrestore(&sc->sc_pm_lock, flags);
1642 }
1643
1644 if (changed & IEEE80211_CONF_CHANGE_MONITOR) {
1645 if (conf->flags & IEEE80211_CONF_MONITOR) {
1646 ath_print(common, ATH_DBG_CONFIG,
1498 sc->sc_flags |= SC_OP_ANI_RUN;
1499 ath_start_ani(common);
1500 }
1501
1502out:
1503 mutex_unlock(&sc->mutex);
1504 return ret;
1505}

--- 133 unchanged lines hidden (view full) ---

1639 else
1640 ath9k_disable_ps(sc);
1641 spin_unlock_irqrestore(&sc->sc_pm_lock, flags);
1642 }
1643
1644 if (changed & IEEE80211_CONF_CHANGE_MONITOR) {
1645 if (conf->flags & IEEE80211_CONF_MONITOR) {
1646 ath_print(common, ATH_DBG_CONFIG,
1647 "HW opmode set to Monitor mode\n");
1648 sc->sc_ah->opmode = NL80211_IFTYPE_MONITOR;
1647 "Monitor mode is enabled\n");
1648 sc->sc_ah->is_monitoring = true;
1649 } else {
1650 ath_print(common, ATH_DBG_CONFIG,
1651 "Monitor mode is disabled\n");
1652 sc->sc_ah->is_monitoring = false;
1649 }
1650 }
1651
1652 if (changed & IEEE80211_CONF_CHANGE_CHANNEL) {
1653 struct ieee80211_channel *curchan = hw->conf.channel;
1654 int pos = curchan->hw_value;
1655 int old_pos = -1;
1656 unsigned long flags;

--- 544 unchanged lines hidden ---
1653 }
1654 }
1655
1656 if (changed & IEEE80211_CONF_CHANGE_CHANNEL) {
1657 struct ieee80211_channel *curchan = hw->conf.channel;
1658 int pos = curchan->hw_value;
1659 int old_pos = -1;
1660 unsigned long flags;

--- 544 unchanged lines hidden ---