main.c (0005baf4a31efe6de6f922f73ccbd3762a110062) main.c (e239d8591843945630521ec85edca08289f1a751)
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

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

2009 sc->sc_flags &= ~SC_OP_SCANNING;
2010 sc->sc_flags |= SC_OP_FULL_RESET;
2011 ath_start_ani(common);
2012 ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work, 0);
2013 ath_beacon_config(sc, NULL);
2014 mutex_unlock(&sc->mutex);
2015}
2016
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

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

2009 sc->sc_flags &= ~SC_OP_SCANNING;
2010 sc->sc_flags |= SC_OP_FULL_RESET;
2011 ath_start_ani(common);
2012 ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work, 0);
2013 ath_beacon_config(sc, NULL);
2014 mutex_unlock(&sc->mutex);
2015}
2016
2017static void ath9k_set_coverage_class(struct ieee80211_hw *hw, u8 coverage_class)
2018{
2019 struct ath_wiphy *aphy = hw->priv;
2020 struct ath_softc *sc = aphy->sc;
2021 struct ath_hw *ah = sc->sc_ah;
2022
2023 mutex_lock(&sc->mutex);
2024 ah->coverage_class = coverage_class;
2025 ath9k_hw_init_global_settings(ah);
2026 mutex_unlock(&sc->mutex);
2027}
2028
2017struct ieee80211_ops ath9k_ops = {
2018 .tx = ath9k_tx,
2019 .start = ath9k_start,
2020 .stop = ath9k_stop,
2021 .add_interface = ath9k_add_interface,
2022 .remove_interface = ath9k_remove_interface,
2023 .config = ath9k_config,
2024 .configure_filter = ath9k_configure_filter,
2025 .sta_notify = ath9k_sta_notify,
2026 .conf_tx = ath9k_conf_tx,
2027 .bss_info_changed = ath9k_bss_info_changed,
2028 .set_key = ath9k_set_key,
2029 .get_tsf = ath9k_get_tsf,
2030 .set_tsf = ath9k_set_tsf,
2031 .reset_tsf = ath9k_reset_tsf,
2032 .ampdu_action = ath9k_ampdu_action,
2033 .sw_scan_start = ath9k_sw_scan_start,
2034 .sw_scan_complete = ath9k_sw_scan_complete,
2035 .rfkill_poll = ath9k_rfkill_poll_state,
2029struct ieee80211_ops ath9k_ops = {
2030 .tx = ath9k_tx,
2031 .start = ath9k_start,
2032 .stop = ath9k_stop,
2033 .add_interface = ath9k_add_interface,
2034 .remove_interface = ath9k_remove_interface,
2035 .config = ath9k_config,
2036 .configure_filter = ath9k_configure_filter,
2037 .sta_notify = ath9k_sta_notify,
2038 .conf_tx = ath9k_conf_tx,
2039 .bss_info_changed = ath9k_bss_info_changed,
2040 .set_key = ath9k_set_key,
2041 .get_tsf = ath9k_get_tsf,
2042 .set_tsf = ath9k_set_tsf,
2043 .reset_tsf = ath9k_reset_tsf,
2044 .ampdu_action = ath9k_ampdu_action,
2045 .sw_scan_start = ath9k_sw_scan_start,
2046 .sw_scan_complete = ath9k_sw_scan_complete,
2047 .rfkill_poll = ath9k_rfkill_poll_state,
2048 .set_coverage_class = ath9k_set_coverage_class,
2036};
2049};