diff --git a/package/madwifi/patches/400-changeset_r3402.patch b/package/madwifi/patches/400-changeset_r3402.patch deleted file mode 100644 index f43a6d90d..000000000 --- a/package/madwifi/patches/400-changeset_r3402.patch +++ /dev/null @@ -1,35 +0,0 @@ ---- a/ath_hal/ah_os.h -+++ b/ath_hal/ah_os.h -@@ -194,10 +194,6 @@ extern u_int32_t __ahdecl ath_hal_getupt - */ - #if (AH_BYTE_ORDER == AH_BIG_ENDIAN) - #define is_reg_le(__reg) ((0x4000 <= (__reg) && (__reg) < 0x5000)) --#else --#define is_reg_le(__reg) 1 --#endif -- - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12) - #define _OS_REG_WRITE(_ah, _reg, _val) do { \ - is_reg_le(_reg) ? \ -@@ -219,6 +215,21 @@ extern u_int32_t __ahdecl ath_hal_getupt - readl((_ah)->ah_sh + (_reg)) : \ - cpu_to_le32(readl((_ah)->ah_sh + (_reg)))) - #endif /* KERNEL_VERSION(2,6,12) */ -+#else /* AH_BYTE_ORDER != AH_BIG_ENDIAN */ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12) -+#define _OS_REG_WRITE(_ah, _reg, _val) do { \ -+ iowrite32((_val), (_ah)->ah_sh + (_reg)); \ -+ } while (0) -+#define _OS_REG_READ(_ah, _reg) \ -+ ioread32((_ah)->ah_sh + (_reg)) -+#else -+#define _OS_REG_WRITE(_ah, _reg, _val) do { \ -+ writel((_val), (_ah)->ah_sh + (_reg)); \ -+ } while (0) -+#define _OS_REG_READ(_ah, _reg) \ -+ readl((_ah)->ah_sh + (_reg)) -+#endif /* KERNEL_VERSION(2,6,12) */ -+#endif /* AH_BYTE_ORDER != AH_BIG_ENDIAN */ - - /* - * The functions in this section are not intended to be invoked by MadWifi diff --git a/package/madwifi/patches/450-new_hal.patch b/package/madwifi/patches/400-new_hal.patch similarity index 86% rename from package/madwifi/patches/450-new_hal.patch rename to package/madwifi/patches/400-new_hal.patch index 0243b8078..a586b2266 100644 --- a/package/madwifi/patches/450-new_hal.patch +++ b/package/madwifi/patches/400-new_hal.patch @@ -1,6 +1,48 @@ +--- a/ath/if_ath.c ++++ b/ath/if_ath.c +@@ -606,6 +606,14 @@ ath_attach(u_int16_t devid, struct net_d + } + sc->sc_ah = ah; + ++ /* WAR for AR7100 PCI bug */ ++#ifdef CONFIG_ATHEROS_AR71XX ++ if ((ar_device(sc->devid) >= 5210) && (ar_device(sc->devid) < 5416)) { ++ ath_hal_setcapability(ah, HAL_CAP_DMABURST_RX, 0, HAL_DMABURST_4B, NULL); ++ ath_hal_setcapability(ah, HAL_CAP_DMABURST_TX, 0, HAL_DMABURST_4B, NULL); ++ } ++#endif ++ + /* + * Check if the MAC has multi-rate retry support. + * We do this by trying to setup a fake extended +@@ -7553,7 +7561,7 @@ ath_txq_setup(struct ath_softc *sc, int + if (qtype == HAL_TX_QUEUE_UAPSD) + qi.tqi_qflags = HAL_TXQ_TXDESCINT_ENABLE; + else +- qi.tqi_qflags = HAL_TXQ_TXEOLINT_ENABLE | ++ qi.tqi_qflags = HAL_TXQ_TXEOLINT_ENABLE | HAL_TXQ_TXOKINT_ENABLE | + HAL_TXQ_TXDESCINT_ENABLE; + qnum = ath_hal_setuptxqueue(ah, qtype, &qi); + if (qnum == -1) { +--- a/ath_hal/ah_os.c ++++ b/ath_hal/ah_os.c +@@ -126,6 +126,13 @@ ath_hal_printf(struct ath_hal *ah, const + } + EXPORT_SYMBOL(ath_hal_printf); + ++void __ahdecl ++ath_hal_printstr(struct ath_hal *ah, const char *str) ++{ ++ printk("%s", str); ++} ++EXPORT_SYMBOL(ath_hal_printstr); ++ + /* + * Format an Ethernet MAC for printing. + */ --- a/ath_hal/ah_os.h +++ b/ath_hal/ah_os.h -@@ -156,80 +156,23 @@ extern u_int32_t __ahdecl ath_hal_getupt +@@ -156,69 +156,23 @@ extern u_int32_t __ahdecl ath_hal_getupt #endif #endif /* AH_BYTE_ORDER */ @@ -49,6 +91,10 @@ */ -#if (AH_BYTE_ORDER == AH_BIG_ENDIAN) -#define is_reg_le(__reg) ((0x4000 <= (__reg) && (__reg) < 0x5000)) +-#else +-#define is_reg_le(__reg) 1 +-#endif +- -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12) -#define _OS_REG_WRITE(_ah, _reg, _val) do { \ - is_reg_le(_reg) ? \ @@ -60,76 +106,19 @@ - ioread32((_ah)->ah_sh + (_reg)) : \ - ioread32be((_ah)->ah_sh + (_reg))) -#else --#define _OS_REG_WRITE(_ah, _reg, _val) do { \ + #define _OS_REG_WRITE(_ah, _reg, _val) do { \ - writel(is_reg_le(_reg) ? \ - (_val) : cpu_to_le32(_val), \ - (_ah)->ah_sh + (_reg)); \ - } while (0) --#define _OS_REG_READ(_ah, _reg) \ ++ __raw_writel(SWAPREG(_ah, _reg, _val), (_ah)->ah_sh + (_reg)); \ ++} while (0) + #define _OS_REG_READ(_ah, _reg) \ - (is_reg_le(_reg) ? \ - readl((_ah)->ah_sh + (_reg)) : \ - cpu_to_le32(readl((_ah)->ah_sh + (_reg)))) -#endif /* KERNEL_VERSION(2,6,12) */ --#else /* AH_BYTE_ORDER != AH_BIG_ENDIAN */ --#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12) --#define _OS_REG_WRITE(_ah, _reg, _val) do { \ -- iowrite32((_val), (_ah)->ah_sh + (_reg)); \ -- } while (0) --#define _OS_REG_READ(_ah, _reg) \ -- ioread32((_ah)->ah_sh + (_reg)) --#else - #define _OS_REG_WRITE(_ah, _reg, _val) do { \ -- writel((_val), (_ah)->ah_sh + (_reg)); \ -- } while (0) -+ __raw_writel(SWAPREG(_ah, _reg, _val), (_ah)->ah_sh + (_reg)); \ -+} while (0) - #define _OS_REG_READ(_ah, _reg) \ -- readl((_ah)->ah_sh + (_reg)) --#endif /* KERNEL_VERSION(2,6,12) */ --#endif /* AH_BYTE_ORDER != AH_BIG_ENDIAN */ + SWAPREG(_ah, _reg, __raw_readl((_ah)->ah_sh + (_reg))) /* * The functions in this section are not intended to be invoked by MadWifi ---- a/ath/if_ath.c -+++ b/ath/if_ath.c -@@ -606,6 +606,14 @@ ath_attach(u_int16_t devid, struct net_d - } - sc->sc_ah = ah; - -+ /* WAR for AR7100 PCI bug */ -+#ifdef CONFIG_ATHEROS_AR71XX -+ if ((ar_device(sc->devid) >= 5210) && (ar_device(sc->devid) < 5416)) { -+ ath_hal_setcapability(ah, HAL_CAP_DMABURST_RX, 0, HAL_DMABURST_4B, NULL); -+ ath_hal_setcapability(ah, HAL_CAP_DMABURST_TX, 0, HAL_DMABURST_4B, NULL); -+ } -+#endif -+ - /* - * Check if the MAC has multi-rate retry support. - * We do this by trying to setup a fake extended -@@ -7555,7 +7563,7 @@ ath_txq_setup(struct ath_softc *sc, int - if (qtype == HAL_TX_QUEUE_UAPSD) - qi.tqi_qflags = HAL_TXQ_TXDESCINT_ENABLE; - else -- qi.tqi_qflags = HAL_TXQ_TXEOLINT_ENABLE | -+ qi.tqi_qflags = HAL_TXQ_TXEOLINT_ENABLE | HAL_TXQ_TXOKINT_ENABLE | - HAL_TXQ_TXDESCINT_ENABLE; - qnum = ath_hal_setuptxqueue(ah, qtype, &qi); - if (qnum == -1) { ---- a/ath_hal/ah_os.c -+++ b/ath_hal/ah_os.c -@@ -126,6 +126,13 @@ ath_hal_printf(struct ath_hal *ah, const - } - EXPORT_SYMBOL(ath_hal_printf); - -+void __ahdecl -+ath_hal_printstr(struct ath_hal *ah, const char *str) -+{ -+ printk("%s", str); -+} -+EXPORT_SYMBOL(ath_hal_printstr); -+ - /* - * Format an Ethernet MAC for printing. - */ diff --git a/package/madwifi/patches/406-monitor_r3711.patch b/package/madwifi/patches/406-monitor_r3711.patch index d6d4a5b13..d0f4279ac 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 -@@ -6511,7 +6511,7 @@ ath_capture(struct net_device *dev, cons +@@ -6519,7 +6519,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"); -@@ -6519,6 +6519,8 @@ ath_capture(struct net_device *dev, cons +@@ -6527,6 +6527,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 e1724725f..b79808241 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 -@@ -3130,7 +3130,7 @@ ath_tx_startraw(struct net_device *dev, +@@ -3138,7 +3138,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/460-autochannel_multi.patch b/package/madwifi/patches/411-autochannel_multi.patch similarity index 100% rename from package/madwifi/patches/460-autochannel_multi.patch rename to package/madwifi/patches/411-autochannel_multi.patch