diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-01-26 00:14:44 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-01-26 00:14:44 +0000 |
commit | ed3a5c6bfdd273bd2aa92422382924dc2c24bf36 (patch) | |
tree | c79ebafcce2e79102ec6e0659704bf1a4489c484 /package | |
parent | 22947061278d3eba96d0a332be7176546d275a77 (diff) |
mac80211: update to wireless-testing 2010-01-25, includes fixes for crypto and retransmissions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19337 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
19 files changed, 11 insertions, 369 deletions
diff --git a/package/mac80211/Makefile b/package/mac80211/Makefile index c907fb1bc5..b5255c3b7d 100644 --- a/package/mac80211/Makefile +++ b/package/mac80211/Makefile @@ -10,12 +10,12 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 -PKG_VERSION:=2010-01-15 +PKG_VERSION:=2010-01-25 PKG_RELEASE:=1 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources # http://www.orbit-lab.org/kernel/compat-wireless-2.6/2010/11 \ # http://wireless.kernel.org/download/compat-wireless-2.6 -PKG_MD5SUM:=aa6f80ad3fcc2b663e62c7b80d37abd3 +PKG_MD5SUM:=66a1d519e7ebcbadd4e47e6e56f705af PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION) diff --git a/package/mac80211/patches/001-disable_b44.patch b/package/mac80211/patches/001-disable_b44.patch index 1a14a6d17e..e15d94e1c4 100644 --- a/package/mac80211/patches/001-disable_b44.patch +++ b/package/mac80211/patches/001-disable_b44.patch @@ -1,6 +1,6 @@ --- a/config.mk +++ b/config.mk -@@ -281,10 +281,10 @@ endif +@@ -283,10 +283,10 @@ endif CONFIG_P54_PCI=m diff --git a/package/mac80211/patches/002-disable_rfkill.patch b/package/mac80211/patches/002-disable_rfkill.patch index 222cd9b544..fcee2fea93 100644 --- a/package/mac80211/patches/002-disable_rfkill.patch +++ b/package/mac80211/patches/002-disable_rfkill.patch @@ -9,7 +9,7 @@ ifeq ($(CONFIG_MAC80211),y) $(error "ERROR: you have MAC80211 compiled into the kernel, CONFIG_MAC80211=y, as such you cannot replace its mac80211 driver. You need this set to CONFIG_MAC80211=m. If you are using Fedora upgrade your kernel as later version should this set as modular. For further information on Fedora see https://bugzilla.redhat.com/show_bug.cgi?id=470143. If you are using your own kernel recompile it and make mac80211 modular") -@@ -474,8 +474,8 @@ endif +@@ -476,8 +476,8 @@ endif # We need the backported rfkill module on kernel < 2.6.31. # In more recent kernel versions use the in kernel rfkill module. ifdef CONFIG_COMPAT_KERNEL_31 diff --git a/package/mac80211/patches/007-remove_misc_drivers.patch b/package/mac80211/patches/007-remove_misc_drivers.patch index 7a5b11566c..413fdd063c 100644 --- a/package/mac80211/patches/007-remove_misc_drivers.patch +++ b/package/mac80211/patches/007-remove_misc_drivers.patch @@ -1,6 +1,6 @@ --- a/config.mk +++ b/config.mk -@@ -314,10 +314,10 @@ CONFIG_PCI_ATMEL=m +@@ -316,10 +316,10 @@ CONFIG_PCI_ATMEL=m CONFIG_MWL8K=m # Ethernet drivers go here @@ -15,7 +15,7 @@ endif ## end of PCI -@@ -356,10 +356,10 @@ CONFIG_USB_NET_COMPAT_RNDIS_HOST=n +@@ -358,10 +358,10 @@ CONFIG_USB_NET_COMPAT_RNDIS_HOST=n CONFIG_USB_NET_COMPAT_RNDIS_WLAN=n CONFIG_USB_NET_COMPAT_CDCETHER=n else diff --git a/package/mac80211/patches/010-b43_config.patch b/package/mac80211/patches/010-b43_config.patch index ed86f40541..6a9738ef06 100644 --- a/package/mac80211/patches/010-b43_config.patch +++ b/package/mac80211/patches/010-b43_config.patch @@ -1,6 +1,6 @@ --- a/config.mk +++ b/config.mk -@@ -199,9 +199,9 @@ CONFIG_B43_HWRNG=y +@@ -201,9 +201,9 @@ CONFIG_B43_HWRNG=y CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y ifneq ($(CONFIG_PCMCIA),) @@ -12,7 +12,7 @@ CONFIG_B43_LEDS=y CONFIG_B43_PHY_LP=y # CONFIG_B43_DEBUG=y -@@ -256,8 +256,8 @@ CONFIG_SSB_PCIHOST_POSSIBLE=y +@@ -258,8 +258,8 @@ CONFIG_SSB_PCIHOST_POSSIBLE=y CONFIG_SSB_PCIHOST=y CONFIG_SSB_B43_PCI_BRIDGE=y ifneq ($(CONFIG_PCMCIA),) diff --git a/package/mac80211/patches/020-fix_compat_h.patch b/package/mac80211/patches/020-fix_compat_h.patch deleted file mode 100644 index b001cf2edd..0000000000 --- a/package/mac80211/patches/020-fix_compat_h.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/include/linux/compat-2.6.32.h -+++ b/include/linux/compat-2.6.32.h -@@ -6,7 +6,7 @@ - #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32)) - - #include <linux/netdevice.h> --#include <asm/compat.h> -+#include <linux/compat.h> - #include <net/iw_handler.h> - #include <linux/workqueue.h> - #include <linux/firmware.h> diff --git a/package/mac80211/patches/100-compat_firmware.patch b/package/mac80211/patches/100-compat_firmware.patch deleted file mode 100644 index 18ab55f719..0000000000 --- a/package/mac80211/patches/100-compat_firmware.patch +++ /dev/null @@ -1,103 +0,0 @@ ---- a/include/linux/compat-2.6.32.h -+++ b/include/linux/compat-2.6.32.h -@@ -9,40 +9,6 @@ - #include <linux/compat.h> - #include <net/iw_handler.h> - #include <linux/workqueue.h> --#include <linux/firmware.h> -- --#define release_firmware compat_release_firmware --#define request_firmware compat_request_firmware --#define request_firmware_nowait compat_request_firmware_nowait -- --#if defined(CONFIG_FW_LOADER) || (defined(CONFIG_FW_LOADER_MODULE) && defined(MODULE)) --int compat_request_firmware(const struct firmware **fw, const char *name, -- struct device *device); --int compat_request_firmware_nowait( -- struct module *module, int uevent, -- const char *name, struct device *device, gfp_t gfp, void *context, -- void (*cont)(const struct firmware *fw, void *context)); -- --void compat_release_firmware(const struct firmware *fw); --#else --static inline int compat_request_firmware(const struct firmware **fw, -- const char *name, -- struct device *device) --{ -- return -EINVAL; --} --static inline int request_firmware_nowait( -- struct module *module, int uevent, -- const char *name, struct device *device, gfp_t gfp, void *context, -- void (*cont)(const struct firmware *fw, void *context)) --{ -- return -EINVAL; --} -- --static inline void compat_release_firmware(const struct firmware *fw) --{ --} --#endif - - #define SDIO_VENDOR_ID_INTEL 0x0089 - #define SDIO_DEVICE_ID_INTEL_IWMC3200WIMAX 0x1402 ---- a/include/linux/compat-2.6.33.h -+++ b/include/linux/compat-2.6.33.h -@@ -10,6 +10,40 @@ - #include <pcmcia/cistpl.h> - #include <pcmcia/ds.h> - #include <linux/kfifo.h> -+#include <linux/firmware.h> -+ -+#define release_firmware compat_release_firmware -+#define request_firmware compat_request_firmware -+#define request_firmware_nowait compat_request_firmware_nowait -+ -+#if defined(CONFIG_FW_LOADER) || defined(CONFIG_FW_LOADER_MODULE) -+int compat_request_firmware(const struct firmware **fw, const char *name, -+ struct device *device); -+int compat_request_firmware_nowait( -+ struct module *module, int uevent, -+ const char *name, struct device *device, gfp_t gfp, void *context, -+ void (*cont)(const struct firmware *fw, void *context)); -+ -+void compat_release_firmware(const struct firmware *fw); -+#else -+static inline int compat_request_firmware(const struct firmware **fw, -+ const char *name, -+ struct device *device) -+{ -+ return -EINVAL; -+} -+static inline int request_firmware_nowait( -+ struct module *module, int uevent, -+ const char *name, struct device *device, gfp_t gfp, void *context, -+ void (*cont)(const struct firmware *fw, void *context)) -+{ -+ return -EINVAL; -+} -+ -+static inline void compat_release_firmware(const struct firmware *fw) -+{ -+} -+#endif - - #define IFF_DONT_BRIDGE 0x800 /* disallow bridging this ether dev */ - /* source: include/linux/if.h */ ---- a/compat/compat_firmware_class.c -+++ b/compat/compat_firmware_class.c -@@ -20,6 +20,8 @@ - #include <linux/highmem.h> - #include <linux/firmware.h> - -+#if defined(CONFIG_FW_LOADER) || defined(CONFIG_FW_LOADER_MODULE) -+ - #define to_dev(obj) container_of(obj, struct device, kobj) - - MODULE_AUTHOR("Manuel Estrada Sainz"); -@@ -724,3 +726,5 @@ module_exit(firmware_class_exit); - EXPORT_SYMBOL(release_firmware); - EXPORT_SYMBOL(request_firmware); - EXPORT_SYMBOL(request_firmware_nowait); -+ -+#endif diff --git a/package/mac80211/patches/408-ath9k_tweak_rx_intr_mitigation.patch b/package/mac80211/patches/408-ath9k_tweak_rx_intr_mitigation.patch index e3df0ad14a..72d638e9f4 100644 --- a/package/mac80211/patches/408-ath9k_tweak_rx_intr_mitigation.patch +++ b/package/mac80211/patches/408-ath9k_tweak_rx_intr_mitigation.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -2088,7 +2088,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st +@@ -2087,7 +2087,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st if (ah->config.rx_intr_mitigation) { REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 500); diff --git a/package/mac80211/patches/510-ath9k_debugfs_chainmask.patch b/package/mac80211/patches/500-ath9k_debugfs_chainmask.patch index 7d043d693b..7d043d693b 100644 --- a/package/mac80211/patches/510-ath9k_debugfs_chainmask.patch +++ b/package/mac80211/patches/500-ath9k_debugfs_chainmask.patch diff --git a/package/mac80211/patches/520-ath9k_debugfs_regaccess.patch b/package/mac80211/patches/510-ath9k_debugfs_regaccess.patch index 02e4cac375..02e4cac375 100644 --- a/package/mac80211/patches/520-ath9k_debugfs_regaccess.patch +++ b/package/mac80211/patches/510-ath9k_debugfs_regaccess.patch diff --git a/package/mac80211/patches/550-ath9k_ack_timeout_workaround.patch b/package/mac80211/patches/520-ath9k_ack_timeout_workaround.patch index 953c07af6f..7b51204a54 100644 --- a/package/mac80211/patches/550-ath9k_ack_timeout_workaround.patch +++ b/package/mac80211/patches/520-ath9k_ack_timeout_workaround.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -1229,6 +1229,11 @@ void ath9k_hw_init_global_settings(struc +@@ -1228,6 +1228,11 @@ void ath9k_hw_init_global_settings(struc /* As defined by IEEE 802.11-2007 17.3.8.6 */ slottime = ah->slottime + 3 * ah->coverage_class; acktimeout = slottime + sifstime; diff --git a/package/mac80211/patches/560-cfg80211_get_freq.patch b/package/mac80211/patches/530-cfg80211_get_freq.patch index 93c9d6e5b4..a2fb29ee2a 100644 --- a/package/mac80211/patches/560-cfg80211_get_freq.patch +++ b/package/mac80211/patches/530-cfg80211_get_freq.patch @@ -1,6 +1,6 @@ --- a/net/wireless/core.h +++ b/net/wireless/core.h -@@ -75,6 +75,7 @@ struct cfg80211_registered_device { +@@ -76,6 +76,7 @@ struct cfg80211_registered_device { /* current channel */ struct ieee80211_channel *channel; diff --git a/package/mac80211/patches/530-monitor_queue_select_fix.patch b/package/mac80211/patches/530-monitor_queue_select_fix.patch deleted file mode 100644 index a4fff50283..0000000000 --- a/package/mac80211/patches/530-monitor_queue_select_fix.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/net/mac80211/iface.c -+++ b/net/mac80211/iface.c -@@ -697,10 +697,14 @@ static u16 ieee80211_monitor_select_queu - - hdr = (void *)((u8 *)skb->data + le16_to_cpu(rtap->it_len)); - -- if (!ieee80211_is_data_qos(hdr->frame_control)) { -+ if (!ieee80211_is_data(hdr->frame_control)) { - skb->priority = 7; - return ieee802_1d_to_ac[skb->priority]; - } -+ if (!ieee80211_is_data_qos(hdr->frame_control)) { -+ skb->priority = 0; -+ return ieee802_1d_to_ac[skb->priority]; -+ } - - p = ieee80211_get_qos_ctl(hdr); - skb->priority = *p & IEEE80211_QOS_CTL_TAG1D_MASK; diff --git a/package/mac80211/patches/540-ath9k_fix_rts_cts.patch b/package/mac80211/patches/540-ath9k_fix_rts_cts.patch deleted file mode 100644 index 789623c674..0000000000 --- a/package/mac80211/patches/540-ath9k_fix_rts_cts.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/xmit.c -+++ b/drivers/net/wireless/ath/ath9k/xmit.c -@@ -1498,26 +1498,6 @@ static void ath_buf_set_rate(struct ath_ - if (sc->sc_flags & SC_OP_PREAMBLE_SHORT) - ctsrate |= rate->hw_value_short; - -- /* -- * ATH9K_TXDESC_RTSENA and ATH9K_TXDESC_CTSENA are mutually exclusive. -- * Check the first rate in the series to decide whether RTS/CTS -- * or CTS-to-self has to be used. -- */ -- if (rates[0].flags & IEEE80211_TX_RC_USE_CTS_PROTECT) -- flags = ATH9K_TXDESC_CTSENA; -- else if (rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) -- flags = ATH9K_TXDESC_RTSENA; -- -- /* FIXME: Handle aggregation protection */ -- if (sc->config.ath_aggr_prot && -- (!bf_isaggr(bf) || (bf_isaggr(bf) && bf->bf_al < 8192))) { -- flags = ATH9K_TXDESC_RTSENA; -- } -- -- /* For AR5416 - RTS cannot be followed by a frame larger than 8K */ -- if (bf_isaggr(bf) && (bf->bf_al > sc->sc_ah->caps.rts_aggr_limit)) -- flags &= ~(ATH9K_TXDESC_RTSENA); -- - for (i = 0; i < 4; i++) { - bool is_40, is_sgi, is_sp; - int phy; -@@ -1529,8 +1509,15 @@ static void ath_buf_set_rate(struct ath_ - series[i].Tries = rates[i].count; - series[i].ChSel = common->tx_chainmask; - -- if (rates[i].flags & IEEE80211_TX_RC_USE_RTS_CTS) -+ if ((sc->config.ath_aggr_prot && bf_isaggr(bf)) || -+ (rates[i].flags & IEEE80211_TX_RC_USE_RTS_CTS)) { - series[i].RateFlags |= ATH9K_RATESERIES_RTS_CTS; -+ flags |= ATH9K_TXDESC_RTSENA; -+ } else if (rates[i].flags & IEEE80211_TX_RC_USE_CTS_PROTECT) { -+ series[i].RateFlags |= ATH9K_RATESERIES_RTS_CTS; -+ flags |= ATH9K_TXDESC_CTSENA; -+ } -+ - if (rates[i].flags & IEEE80211_TX_RC_40_MHZ_WIDTH) - series[i].RateFlags |= ATH9K_RATESERIES_2040; - if (rates[i].flags & IEEE80211_TX_RC_SHORT_GI) -@@ -1568,6 +1555,14 @@ static void ath_buf_set_rate(struct ath_ - phy, rate->bitrate * 100, bf->bf_frmlen, rix, is_sp); - } - -+ /* For AR5416 - RTS cannot be followed by a frame larger than 8K */ -+ if (bf_isaggr(bf) && (bf->bf_al > sc->sc_ah->caps.rts_aggr_limit)) -+ flags &= ~ATH9K_TXDESC_RTSENA; -+ -+ /* ATH9K_TXDESC_RTSENA and ATH9K_TXDESC_CTSENA are mutually exclusive. */ -+ if (flags & ATH9K_TXDESC_RTSENA) -+ flags &= ~ATH9K_TXDESC_CTSENA; -+ - /* set dur_update_en for l-sig computation except for PS-Poll frames */ - ath9k_hw_set11n_ratescenario(sc->sc_ah, bf->bf_desc, - bf->bf_lastbf->bf_desc, diff --git a/package/mac80211/patches/570-ath9k_bcnslot_leak.patch b/package/mac80211/patches/570-ath9k_bcnslot_leak.patch deleted file mode 100644 index bbd94894ee..0000000000 --- a/package/mac80211/patches/570-ath9k_bcnslot_leak.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/main.c -+++ b/drivers/net/wireless/ath/ath9k/main.c -@@ -1471,10 +1471,10 @@ static void ath9k_remove_interface(struc - (sc->sc_ah->opmode == NL80211_IFTYPE_MESH_POINT)) { - ath9k_ps_wakeup(sc); - ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq); -- ath_beacon_return(sc, avp); - ath9k_ps_restore(sc); - } - -+ ath_beacon_return(sc, avp); - sc->sc_flags &= ~SC_OP_BEACONS; - - for (i = 0; i < ARRAY_SIZE(sc->beacon.bslot); i++) { diff --git a/package/mac80211/patches/580-mac80211_rxdata_fix.patch b/package/mac80211/patches/580-mac80211_rxdata_fix.patch deleted file mode 100644 index 5d9756247c..0000000000 --- a/package/mac80211/patches/580-mac80211_rxdata_fix.patch +++ /dev/null @@ -1,72 +0,0 @@ ---- a/net/mac80211/rx.c -+++ b/net/mac80211/rx.c -@@ -2348,22 +2348,6 @@ static void __ieee80211_rx_handle_packet - sdata->vif.type == NL80211_IFTYPE_AP_VLAN) - continue; - -- rx.sta = sta_info_get(sdata, hdr->addr2); -- -- rx.flags |= IEEE80211_RX_RA_MATCH; -- prepares = prepare_for_handlers(sdata, &rx, hdr); -- -- if (!prepares) -- continue; -- -- if (status->flag & RX_FLAG_MMIC_ERROR) { -- rx.sdata = sdata; -- if (rx.flags & IEEE80211_RX_RA_MATCH) -- ieee80211_rx_michael_mic_report(hdr, -- &rx); -- continue; -- } -- - /* - * frame is destined for this interface, but if it's - * not also for the previous one we handle that after -@@ -2375,6 +2359,22 @@ static void __ieee80211_rx_handle_packet - continue; - } - -+ rx.sta = sta_info_get(prev, hdr->addr2); -+ -+ rx.flags |= IEEE80211_RX_RA_MATCH; -+ prepares = prepare_for_handlers(prev, &rx, hdr); -+ -+ if (!prepares) -+ goto next; -+ -+ if (status->flag & RX_FLAG_MMIC_ERROR) { -+ rx.sdata = prev; -+ if (rx.flags & IEEE80211_RX_RA_MATCH) -+ ieee80211_rx_michael_mic_report(hdr, -+ &rx); -+ goto next; -+ } -+ - /* - * frame was destined for the previous interface - * so invoke RX handlers for it -@@ -2387,11 +2387,22 @@ static void __ieee80211_rx_handle_packet - "multicast frame for %s\n", - wiphy_name(local->hw.wiphy), - prev->name); -- continue; -+ goto next; - } - ieee80211_invoke_rx_handlers(prev, &rx, skb_new, rate); -+next: - prev = sdata; - } -+ -+ if (prev) { -+ rx.sta = sta_info_get(prev, hdr->addr2); -+ -+ rx.flags |= IEEE80211_RX_RA_MATCH; -+ prepares = prepare_for_handlers(prev, &rx, hdr); -+ -+ if (!prepares) -+ prev = NULL; -+ } - } - if (prev) - ieee80211_invoke_rx_handlers(prev, &rx, skb, rate); diff --git a/package/mac80211/patches/590-ath9k_init_fix.patch b/package/mac80211/patches/590-ath9k_init_fix.patch deleted file mode 100644 index 440524cc95..0000000000 --- a/package/mac80211/patches/590-ath9k_init_fix.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/hw.c -+++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -823,12 +823,11 @@ static void ath9k_hw_init_mode_gain_regs - } - } - --static void ath9k_hw_init_11a_eeprom_fix(struct ath_hw *ah) -+static void ath9k_hw_init_eeprom_fix(struct ath_hw *ah) - { - u32 i, j; - -- if ((ah->hw_version.devid == AR9280_DEVID_PCI) && -- test_bit(ATH9K_MODE_11A, ah->caps.wireless_modes)) { -+ if (ah->hw_version.devid == AR9280_DEVID_PCI) { - - /* EEPROM Fixup */ - for (i = 0; i < ah->iniModes.ia_rows; i++) { -@@ -948,7 +947,7 @@ int ath9k_hw_init(struct ath_hw *ah) - if (r) - return r; - -- ath9k_hw_init_11a_eeprom_fix(ah); -+ ath9k_hw_init_eeprom_fix(ah); - - r = ath9k_hw_init_macaddr(ah); - if (r) { diff --git a/package/mac80211/patches/600-ath9k_rc_tries.patch b/package/mac80211/patches/600-ath9k_rc_tries.patch deleted file mode 100644 index d18fd24a99..0000000000 --- a/package/mac80211/patches/600-ath9k_rc_tries.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- a/drivers/net/wireless/ath/ath9k/init.c -+++ b/drivers/net/wireless/ath/ath9k/init.c -@@ -645,8 +645,7 @@ void ath9k_set_hw_capab(struct ath_softc - hw->max_rates = 4; - hw->channel_change_time = 5000; - hw->max_listen_interval = 10; -- /* Hardware supports 10 but we use 4 */ -- hw->max_rate_tries = 4; -+ hw->max_rate_tries = 10; - hw->sta_data_size = sizeof(struct ath_node); - hw->vif_data_size = sizeof(struct ath_vif); - ---- a/drivers/net/wireless/ath/ath9k/rc.c -+++ b/drivers/net/wireless/ath/ath9k/rc.c -@@ -678,13 +678,13 @@ static void ath_get_rate(void *priv, str - * For Multi Rate Retry we use a different number of - * retry attempt counts. This ends up looking like this: - * -- * MRR[0] = 2 -- * MRR[1] = 2 -- * MRR[2] = 2 -- * MRR[3] = 4 -+ * MRR[0] = 4 -+ * MRR[1] = 4 -+ * MRR[2] = 4 -+ * MRR[3] = 8 - * - */ -- try_per_rate = sc->hw->max_rate_tries; -+ try_per_rate = 4; - - rate_table = sc->cur_rate_table; - rix = ath_rc_get_highest_rix(sc, ath_rc_priv, rate_table, &is_probe); -@@ -714,7 +714,7 @@ static void ath_get_rate(void *priv, str - for ( ; i < 4; i++) { - /* Use twice the number of tries for the last MRR segment. */ - if (i + 1 == 4) -- try_per_rate = 4; -+ try_per_rate = 8; - - ath_rc_get_lower_rix(rate_table, ath_rc_priv, rix, &nrix); - /* All other rates in the series have RTS enabled */ diff --git a/package/mac80211/patches/610-fix_warn_on.patch b/package/mac80211/patches/610-fix_warn_on.patch deleted file mode 100644 index 8cc0a7bf51..0000000000 --- a/package/mac80211/patches/610-fix_warn_on.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/net/mac80211/work.c -+++ b/net/mac80211/work.c -@@ -1022,8 +1022,6 @@ ieee80211_rx_result ieee80211_work_rx_mg - case IEEE80211_STYPE_PROBE_RESP: - case IEEE80211_STYPE_ASSOC_RESP: - case IEEE80211_STYPE_REASSOC_RESP: -- case IEEE80211_STYPE_DEAUTH: -- case IEEE80211_STYPE_DISASSOC: - skb_queue_tail(&local->work_skb_queue, skb); - ieee80211_queue_work(&local->hw, &local->work_work); - return RX_QUEUED; |