ath9k: add more pending fixes from linux-wireless@

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24858 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2010-12-30 15:48:39 +00:00
parent 167332ea2e
commit 6c025a3167
3 changed files with 41 additions and 5 deletions

View File

@ -232,3 +232,39 @@
spin_unlock_bh(&txq->axq_lock); spin_unlock_bh(&txq->axq_lock);
txok = !(txs.ts_status & ATH9K_TXERR_MASK); txok = !(txs.ts_status & ATH9K_TXERR_MASK);
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -714,8 +714,7 @@ static void ath9k_set_hw_capab(struct at
IEEE80211_HW_HAS_RATE_CONTROL |
IEEE80211_HW_RX_INCLUDES_FCS |
IEEE80211_HW_SUPPORTS_PS |
- IEEE80211_HW_PS_NULLFUNC_STACK |
- IEEE80211_HW_NEED_DTIM_PERIOD;
+ IEEE80211_HW_PS_NULLFUNC_STACK;
hw->wiphy->interface_modes =
BIT(NL80211_IFTYPE_STATION) |
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -646,8 +646,7 @@ void ath9k_set_hw_capab(struct ath_softc
IEEE80211_HW_SUPPORTS_PS |
IEEE80211_HW_PS_NULLFUNC_STACK |
IEEE80211_HW_SPECTRUM_MGMT |
- IEEE80211_HW_REPORTS_TX_ACK_STATUS |
- IEEE80211_HW_NEED_DTIM_PERIOD;
+ IEEE80211_HW_REPORTS_TX_ACK_STATUS;
if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_HT)
hw->flags |= IEEE80211_HW_AMPDU_AGGREGATION;
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -285,7 +285,8 @@ int ath_set_channel(struct ath_softc *sc
ath9k_hw_set_interrupts(ah, ah->imask);
if (!(sc->sc_flags & (SC_OP_OFFCHANNEL))) {
- ath_beacon_config(sc, NULL);
+ if (sc->sc_flags & SC_OP_BEACONS)
+ ath_beacon_config(sc, NULL);
ieee80211_queue_delayed_work(sc->hw, &sc->tx_complete_work, 0);
ath_start_ani(common);
}

View File

@ -253,7 +253,7 @@
/* Rfkill */ /* Rfkill */
--- a/drivers/net/wireless/ath/ath9k/main.c --- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -1295,9 +1295,6 @@ static void ath9k_stop(struct ieee80211_ @@ -1296,9 +1296,6 @@ static void ath9k_stop(struct ieee80211_
aphy->state = ATH_WIPHY_INACTIVE; aphy->state = ATH_WIPHY_INACTIVE;
@ -287,7 +287,7 @@
static void ath9k_deinit_softc(struct ath_softc *sc); static void ath9k_deinit_softc(struct ath_softc *sc);
/* /*
@@ -746,6 +761,13 @@ int ath9k_init_device(u16 devid, struct @@ -745,6 +760,13 @@ int ath9k_init_device(u16 devid, struct
ath9k_init_txpower_limits(sc); ath9k_init_txpower_limits(sc);

View File

@ -10,7 +10,7 @@
--- a/drivers/net/wireless/ath/ath9k/main.c --- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -538,32 +538,6 @@ set_timer: @@ -539,32 +539,6 @@ set_timer:
} }
} }
@ -43,7 +43,7 @@
static void ath_node_attach(struct ath_softc *sc, struct ieee80211_sta *sta) static void ath_node_attach(struct ath_softc *sc, struct ieee80211_sta *sta)
{ {
struct ath_node *an; struct ath_node *an;
@@ -1676,8 +1650,6 @@ static int ath9k_config(struct ieee80211 @@ -1677,8 +1651,6 @@ static int ath9k_config(struct ieee80211
/* XXX: remove me eventualy */ /* XXX: remove me eventualy */
ath9k_update_ichannel(sc, hw, &sc->sc_ah->channels[pos]); ath9k_update_ichannel(sc, hw, &sc->sc_ah->channels[pos]);
@ -52,7 +52,7 @@
/* update survey stats for the old channel before switching */ /* update survey stats for the old channel before switching */
spin_lock_irqsave(&common->cc_lock, flags); spin_lock_irqsave(&common->cc_lock, flags);
ath_update_survey_stats(sc); ath_update_survey_stats(sc);
@@ -1909,10 +1881,6 @@ static void ath9k_bss_info_changed(struc @@ -1910,10 +1882,6 @@ static void ath9k_bss_info_changed(struc
/* Set aggregation protection mode parameters */ /* Set aggregation protection mode parameters */
sc->config.ath_aggr_prot = 0; sc->config.ath_aggr_prot = 0;