From 130413bb0f1de803e52cd168c59373b3e6473f4e Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 4 Dec 2008 19:54:16 +0000 Subject: [PATCH] madwifi: fix the autochannel patch SVN-Revision: 13520 --- package/madwifi/patches/389-autochannel.patch | 9 ++++++--- package/madwifi/patches/390-frame_type.patch | 6 +++--- package/madwifi/patches/406-monitor_r3711.patch | 4 ++-- package/madwifi/patches/408-changeset_r3337.patch | 2 +- package/madwifi/patches/450-new_hal.patch | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/package/madwifi/patches/389-autochannel.patch b/package/madwifi/patches/389-autochannel.patch index 8e5a62dafc8..9c77b0e543e 100644 --- a/package/madwifi/patches/389-autochannel.patch +++ b/package/madwifi/patches/389-autochannel.patch @@ -16,7 +16,7 @@ sc->sc_curchan.channel = ic->ic_curchan->ic_freq; sc->sc_curchan.channelFlags = ath_chan2flags(ic->ic_curchan); if (!ath_hal_reset(ah, sc->sc_opmode, &sc->sc_curchan, AH_FALSE, &status)) { -@@ -2913,6 +2915,34 @@ ath_hw_check_atim(struct ath_softc *sc, +@@ -2913,6 +2915,37 @@ ath_hw_check_atim(struct ath_softc *sc, } @@ -33,6 +33,9 @@ + if (sc->sc_ah->ah_macType < 5212) + return; + ++ if (!ic->ic_curchan || (ic->ic_curchan == IEEE80211_CHAN_ANYC)) ++ return; ++ + rx = OS_REG_READ(ah, AR5K_RXCLEAR); + cc = OS_REG_READ(ah, AR5K_CYCLES); + if (rx > cc) @@ -51,7 +54,7 @@ /* * Reset the hardware w/o losing operational state. This is * basically a more efficient way of doing ath_stop, ath_init, -@@ -2939,6 +2969,7 @@ ath_reset(struct net_device *dev) +@@ -2939,6 +2972,7 @@ ath_reset(struct net_device *dev) * Convert to a HAL channel description with the flags * constrained to reflect the current operating mode. */ @@ -59,7 +62,7 @@ c = ic->ic_curchan; sc->sc_curchan.channel = c->ic_freq; sc->sc_curchan.channelFlags = ath_chan2flags(c); -@@ -9019,6 +9050,7 @@ ath_chan_set(struct ath_softc *sc, struc +@@ -9019,6 +9053,7 @@ ath_chan_set(struct ath_softc *sc, struc u_int8_t channel_change_required = 0; struct timeval tv; diff --git a/package/madwifi/patches/390-frame_type.patch b/package/madwifi/patches/390-frame_type.patch index 179ee7cfa0f..130f3b6d61e 100644 --- a/package/madwifi/patches/390-frame_type.patch +++ b/package/madwifi/patches/390-frame_type.patch @@ -1,13 +1,13 @@ --- a/net80211/ieee80211_input.c +++ b/net80211/ieee80211_input.c -@@ -4421,7 +4421,9 @@ +@@ -4440,7 +4440,9 @@ ath_eth_type_trans(struct sk_buff *skb, if (memcmp(eth->h_dest, dev->dev_addr, ETH_ALEN)) skb->pkt_type = PACKET_OTHERHOST; - + - return eth->h_proto; + if (ntohs(eth->h_proto) >= 1536) + return eth->h_proto; + return htons(ETH_P_802_2); } #endif - + diff --git a/package/madwifi/patches/406-monitor_r3711.patch b/package/madwifi/patches/406-monitor_r3711.patch index 5eef3fd6cd2..f5e5a9586dd 100644 --- a/package/madwifi/patches/406-monitor_r3711.patch +++ b/package/madwifi/patches/406-monitor_r3711.patch @@ -1,6 +1,6 @@ --- a/ath/if_ath.c +++ b/ath/if_ath.c -@@ -6504,7 +6504,7 @@ ath_capture(struct net_device *dev, cons +@@ -6507,7 +6507,7 @@ ath_capture(struct net_device *dev, cons /* Never copy the SKB, as it is ours on the RX side, and this is the * last process on the TX side and we only modify our own headers. */ @@ -9,7 +9,7 @@ if (tskb == NULL) { DPRINTF(sc, ATH_DEBUG_ANY, "Dropping; ath_skb_removepad failed!\n"); -@@ -6512,6 +6512,8 @@ ath_capture(struct net_device *dev, cons +@@ -6515,6 +6515,8 @@ ath_capture(struct net_device *dev, cons } ieee80211_input_monitor(ic, tskb, bf, tx, tsf, sc); diff --git a/package/madwifi/patches/408-changeset_r3337.patch b/package/madwifi/patches/408-changeset_r3337.patch index 1297d5f8e2e..b0121b97e4b 100644 --- a/package/madwifi/patches/408-changeset_r3337.patch +++ b/package/madwifi/patches/408-changeset_r3337.patch @@ -10,7 +10,7 @@ Please let us know if you think your name should be mentioned here! --- a/ath/if_ath.c +++ b/ath/if_ath.c -@@ -3123,7 +3123,7 @@ ath_tx_startraw(struct net_device *dev, +@@ -3126,7 +3126,7 @@ ath_tx_startraw(struct net_device *dev, struct ath_softc *sc = dev->priv; struct ath_hal *ah = sc->sc_ah; struct ieee80211_phy_params *ph = (struct ieee80211_phy_params *) diff --git a/package/madwifi/patches/450-new_hal.patch b/package/madwifi/patches/450-new_hal.patch index 5c371250834..199f91fb05c 100644 --- a/package/madwifi/patches/450-new_hal.patch +++ b/package/madwifi/patches/450-new_hal.patch @@ -108,7 +108,7 @@ /* * Check if the MAC has multi-rate retry support. * We do this by trying to setup a fake extended -@@ -7518,7 +7526,7 @@ ath_txq_setup(struct ath_softc *sc, int +@@ -7521,7 +7529,7 @@ ath_txq_setup(struct ath_softc *sc, int if (qtype == HAL_TX_QUEUE_UAPSD) qi.tqi_qflags = HAL_TXQ_TXDESCINT_ENABLE; else -- 2.30.2