mac80211: update to wireless-testing 2010-06-28
authorFelix Fietkau <nbd@openwrt.org>
Wed, 30 Jun 2010 00:10:38 +0000 (00:10 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 30 Jun 2010 00:10:38 +0000 (00:10 +0000)
SVN-Revision: 21988

20 files changed:
package/mac80211/Makefile
package/mac80211/patches/001-disable_b44.patch
package/mac80211/patches/002-disable_rfkill.patch
package/mac80211/patches/005-disable_ssb_build.patch
package/mac80211/patches/007-remove_misc_drivers.patch
package/mac80211/patches/010-no_pcmcia.patch
package/mac80211/patches/011-no_sdio.patch
package/mac80211/patches/013-disable_b43_nphy.patch
package/mac80211/patches/015-remove-rt2x00-options.patch
package/mac80211/patches/110-disable_usb_compat.patch
package/mac80211/patches/401-ath9k-dont-register-leds-on-ar9100.patch
package/mac80211/patches/403-ath9k-fix-invalid-mac-address-handling.patch
package/mac80211/patches/406-ath9k-set-AH_USE_EEPROM-only-if-no-platform-data-present.patch
package/mac80211/patches/407-ath9k-override-mac-address-from-platform-data.patch
package/mac80211/patches/408-ath9k_tweak_rx_intr_mitigation.patch
package/mac80211/patches/409-ath9k-add-wndr3700-antenna-initialization.patch
package/mac80211/patches/410-ath9k-wndr3700-led-pin-fix.patch
package/mac80211/patches/500-ath9k_use_minstrel.patch
package/mac80211/patches/510-ath9k_fix_ampdu_retry_count.patch [deleted file]
package/mac80211/patches/750-set_pci_mwi.patch

index a46863b20d48b6b8373656167032c9f44eb50bc8..4d2ef0edecb519676849b052d5c96b1db3002e0a 100644 (file)
@@ -10,12 +10,12 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mac80211
 
 
 PKG_NAME:=mac80211
 
-PKG_VERSION:=2010-06-15
+PKG_VERSION:=2010-06-28
 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_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:=7d18106ca78213bf9ce27406cd79458c
+PKG_MD5SUM:=10100e68991ed0749ee52cfc1704966b
 
 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
 
 PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/compat-wireless-$(PKG_VERSION)
index 3182261fd2e0f8b62c8f2874f29295613ac63b87..31976bd648012968b014ccc15f0e689fcf4b08ff 100644 (file)
@@ -1,6 +1,6 @@
 --- a/config.mk
 +++ b/config.mk
 --- a/config.mk
 +++ b/config.mk
-@@ -257,8 +257,8 @@ endif
+@@ -268,8 +268,8 @@ endif
  
  CONFIG_P54_PCI=m
  
  
  CONFIG_P54_PCI=m
  
index c8183baae8546a97f9f468e3879ce38efb74ee33..c5d1ccc507c18461bc24540a7fbd6f5c3bdc846f 100644 (file)
@@ -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")
  
  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")
-@@ -488,8 +488,8 @@ endif
+@@ -495,8 +495,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
  # 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
index 4b01fa3bb493be053e3a5c35065cc38d3e77ebfc..7207d7b84447cfdf3c16479ecf595ed1553bc2e8 100644 (file)
@@ -19,7 +19,7 @@
  else
  include $(KLIB_BUILD)/.config
  endif
  else
  include $(KLIB_BUILD)/.config
  endif
-@@ -240,21 +239,6 @@ CONFIG_IPW2200_QOS=y
+@@ -251,21 +250,6 @@ CONFIG_IPW2200_QOS=y
  #
  # % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
  
  #
  # % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
  
@@ -41,7 +41,7 @@
  CONFIG_P54_PCI=m
  
  # CONFIG_B44=m
  CONFIG_P54_PCI=m
  
  # CONFIG_B44=m
-@@ -418,7 +402,6 @@ endif # end of SPI driver list
+@@ -429,7 +413,6 @@ endif # end of SPI driver list
  
  ifneq ($(CONFIG_MMC),)
  
  
  ifneq ($(CONFIG_MMC),)
  
index 4087e7450c9976e20bb508e9f54f384492629df0..1fb8353330d4e2a9b03a15151a3c73942121b65b 100644 (file)
@@ -1,6 +1,6 @@
 --- a/config.mk
 +++ b/config.mk
 --- a/config.mk
 +++ b/config.mk
-@@ -271,13 +271,13 @@ endif
+@@ -282,13 +282,13 @@ endif
  CONFIG_MWL8K=m
  
  # Ethernet drivers go here
  CONFIG_MWL8K=m
  
  # Ethernet drivers go here
@@ -19,7 +19,7 @@
  endif
  
  CONFIG_HERMES=m
  endif
  
  CONFIG_HERMES=m
-@@ -331,10 +331,10 @@ CONFIG_USB_NET_COMPAT_RNDIS_HOST=n
+@@ -342,10 +342,10 @@ CONFIG_USB_NET_COMPAT_RNDIS_HOST=n
  CONFIG_USB_NET_COMPAT_RNDIS_WLAN=n
  CONFIG_USB_NET_COMPAT_CDCETHER=n
  else
  CONFIG_USB_NET_COMPAT_RNDIS_WLAN=n
  CONFIG_USB_NET_COMPAT_CDCETHER=n
  else
index 078b8039ff49d635e2c974d2dd8aa8258e731cf1..0c8072a3ef5f0fe173a5b57e26cdc4895a5af461 100644 (file)
@@ -9,7 +9,7 @@
  else
  include $(KLIB_BUILD)/.config
  endif
  else
  include $(KLIB_BUILD)/.config
  endif
-@@ -181,7 +181,7 @@ CONFIG_B43=m
+@@ -192,7 +192,7 @@ CONFIG_B43=m
  CONFIG_B43_HWRNG=y
  CONFIG_B43_PCI_AUTOSELECT=y
  ifneq ($(CONFIG_PCMCIA),)
  CONFIG_B43_HWRNG=y
  CONFIG_B43_PCI_AUTOSELECT=y
  ifneq ($(CONFIG_PCMCIA),)
index d0916e45927fc342209b01cbe1d522d4a92e0c68..3f7fd5a2ca988968b3251dd7883e489430495a56 100644 (file)
@@ -1,6 +1,6 @@
 --- a/config.mk
 +++ b/config.mk
 --- a/config.mk
 +++ b/config.mk
-@@ -387,7 +387,7 @@ endif # end of SPI driver list
+@@ -398,7 +398,7 @@ endif # end of SPI driver list
  
  ifneq ($(CONFIG_MMC),)
  
  
  ifneq ($(CONFIG_MMC),)
  
@@ -8,4 +8,4 @@
 +# CONFIG_B43_SDIO=y
  CONFIG_WL1251_SDIO=m
  
 +# CONFIG_B43_SDIO=y
  CONFIG_WL1251_SDIO=m
  
- ifneq ($(CONFIG_ARM),)
+ ifndef CONFIG_COMPAT_KERNEL_32
index efdfb149a1d646fef9922c4db7882c48accd4f31..f71d3b288c339aec8fef2e4cdb4ba9204e65798d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/config.mk
 +++ b/config.mk
 --- a/config.mk
 +++ b/config.mk
-@@ -185,7 +185,7 @@ ifneq ($(CONFIG_PCMCIA),)
+@@ -196,7 +196,7 @@ ifneq ($(CONFIG_PCMCIA),)
  endif
  CONFIG_B43_LEDS=y
  CONFIG_B43_PHY_LP=y
  endif
  CONFIG_B43_LEDS=y
  CONFIG_B43_PHY_LP=y
index a9176ece5a79f29023f33b6ba6140049396c0aa7..6946948703d602f74e319002737b695ca6c96c10 100644 (file)
@@ -1,6 +1,6 @@
 --- a/config.mk
 +++ b/config.mk
 --- a/config.mk
 +++ b/config.mk
-@@ -233,12 +233,12 @@ CONFIG_RTL8180=m
+@@ -244,12 +244,12 @@ CONFIG_RTL8180=m
  
  CONFIG_ADM8211=m
  
  
  CONFIG_ADM8211=m
  
@@ -15,7 +15,7 @@
  # CONFIG_RT2800PCI_RT30XX=y
  # CONFIG_RT2800PCI_RT35XX=y
  # CONFIG_RT2800PCI_SOC=y
  # CONFIG_RT2800PCI_RT30XX=y
  # CONFIG_RT2800PCI_RT35XX=y
  # CONFIG_RT2800PCI_SOC=y
-@@ -344,7 +344,7 @@ CONFIG_RT2800USB_RT30XX=y
+@@ -355,7 +355,7 @@ CONFIG_RT2800USB_RT30XX=y
  CONFIG_RT2800USB_RT35XX=y
  CONFIG_RT2800USB_UNKNOWN=y
  endif
  CONFIG_RT2800USB_RT35XX=y
  CONFIG_RT2800USB_UNKNOWN=y
  endif
index 2d7394e834f951312a1dca09c2b5e13975ec521a..c60705a531f3c6ac995254be9365d0cf44681d95 100644 (file)
@@ -11,7 +11,7 @@
  {
 --- a/compat/compat-2.6.29.c
 +++ b/compat/compat-2.6.29.c
  {
 --- a/compat/compat-2.6.29.c
 +++ b/compat/compat-2.6.29.c
-@@ -50,7 +50,7 @@ void netdev_attach_ops(struct net_device
+@@ -51,7 +51,7 @@ void netdev_attach_ops(struct net_device
  EXPORT_SYMBOL(netdev_attach_ops);
  
  #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23))
  EXPORT_SYMBOL(netdev_attach_ops);
  
  #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23))
index 96c22a0d0df1740cc1fcbcdb28257cb2272c3553..166c133a612318377153b01261acf2015025e9b9 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/gpio.c
 +++ b/drivers/net/wireless/ath/ath9k/gpio.c
 --- a/drivers/net/wireless/ath/ath9k/gpio.c
 +++ b/drivers/net/wireless/ath/ath9k/gpio.c
-@@ -119,6 +119,9 @@ static void ath_unregister_led(struct at
+@@ -120,6 +120,9 @@ static void ath_unregister_led(struct at
  
  void ath_deinit_leds(struct ath_softc *sc)
  {
  
  void ath_deinit_leds(struct ath_softc *sc)
  {
@@ -10,7 +10,7 @@
        ath_unregister_led(&sc->assoc_led);
        sc->sc_flags &= ~SC_OP_LED_ASSOCIATED;
        ath_unregister_led(&sc->tx_led);
        ath_unregister_led(&sc->assoc_led);
        sc->sc_flags &= ~SC_OP_LED_ASSOCIATED;
        ath_unregister_led(&sc->tx_led);
-@@ -132,6 +135,9 @@ void ath_init_leds(struct ath_softc *sc)
+@@ -133,6 +136,9 @@ void ath_init_leds(struct ath_softc *sc)
        char *trigger;
        int ret;
  
        char *trigger;
        int ret;
  
index 2c6a5670f373af745179377123677ec330d1859e..23631dcaccc5a7aa18a7fbe745684836d114e4b9 100644 (file)
@@ -8,7 +8,7 @@
  #include <asm/unaligned.h>
  
  #include "hw.h"
  #include <asm/unaligned.h>
  
  #include "hw.h"
-@@ -450,8 +451,16 @@ static int ath9k_hw_init_macaddr(struct 
+@@ -451,8 +452,16 @@ static int ath9k_hw_init_macaddr(struct 
                common->macaddr[2 * i] = eeval >> 8;
                common->macaddr[2 * i + 1] = eeval & 0xff;
        }
                common->macaddr[2 * i] = eeval >> 8;
                common->macaddr[2 * i + 1] = eeval & 0xff;
        }
index 0a0c2efb9ff57c8d47fd8cd465d5bf4b97141f7c..77d1c7b6e9e806c72672ff5bf1789bf24b2a1a2b 100644 (file)
@@ -10,7 +10,7 @@
  
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
  
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -534,6 +534,7 @@ static int ath9k_init_softc(u16 devid, s
+@@ -538,6 +538,7 @@ static int ath9k_init_softc(u16 devid, s
  {
        struct ath_hw *ah = NULL;
        struct ath_common *common;
  {
        struct ath_hw *ah = NULL;
        struct ath_common *common;
@@ -18,7 +18,7 @@
        int ret = 0, i;
        int csz = 0;
  
        int ret = 0, i;
        int csz = 0;
  
-@@ -545,6 +546,10 @@ static int ath9k_init_softc(u16 devid, s
+@@ -549,6 +550,10 @@ static int ath9k_init_softc(u16 devid, s
        ah->hw_version.subsysid = subsysid;
        sc->sc_ah = ah;
  
        ah->hw_version.subsysid = subsysid;
        sc->sc_ah = ah;
  
@@ -31,7 +31,7 @@
        common->bus_ops = bus_ops;
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
        common->bus_ops = bus_ops;
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -421,10 +421,6 @@ static void ath9k_hw_init_defaults(struc
+@@ -422,10 +422,6 @@ static void ath9k_hw_init_defaults(struc
        ah->hw_version.magic = AR5416_MAGIC;
        ah->hw_version.subvendorid = 0;
  
        ah->hw_version.magic = AR5416_MAGIC;
        ah->hw_version.subvendorid = 0;
  
index 7a3e717355d1f005c70635db0de0afba364743a9..72f7751fc93512c79924dba9e51909615420ad3c 100644 (file)
@@ -11,7 +11,7 @@
  #include "hw.h"
  #include "hw-ops.h"
  #include "rc.h"
  #include "hw.h"
  #include "hw-ops.h"
  #include "rc.h"
-@@ -435,18 +437,23 @@ static void ath9k_hw_init_defaults(struc
+@@ -436,18 +438,23 @@ static void ath9k_hw_init_defaults(struc
  static int ath9k_hw_init_macaddr(struct ath_hw *ah)
  {
        struct ath_common *common = ath9k_hw_common(ah);
  static int ath9k_hw_init_macaddr(struct ath_hw *ah)
  {
        struct ath_common *common = ath9k_hw_common(ah);
index 7b40230c0a69b368d58dda8cce0a431a95669c21..c280f3cf61e477483e1049b6adc5d2a2500ec6e1 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -1401,7 +1401,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
+@@ -1407,7 +1407,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);
  
        if (ah->config.rx_intr_mitigation) {
                REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 500);
index bef3b2dae31811d25f3564aa90a81aa09a522392..ed7d34883162b085cf1808eaacdfe55118e5d817 100644 (file)
@@ -8,7 +8,7 @@
  #include "ath9k.h"
  
  static char *dev_info = "ath9k";
  #include "ath9k.h"
  
  static char *dev_info = "ath9k";
-@@ -549,6 +550,8 @@ static int ath9k_init_softc(u16 devid, s
+@@ -553,6 +554,8 @@ static int ath9k_init_softc(u16 devid, s
        pdata = (struct ath9k_platform_data *) sc->dev->platform_data;
        if (!pdata)
                ah->ah_flags |= AH_USE_EEPROM;
        pdata = (struct ath9k_platform_data *) sc->dev->platform_data;
        if (!pdata)
                ah->ah_flags |= AH_USE_EEPROM;
@@ -17,7 +17,7 @@
  
        common = ath9k_hw_common(ah);
        common->ops = &ath9k_common_ops;
  
        common = ath9k_hw_common(ah);
        common->ops = &ath9k_common_ops;
-@@ -671,6 +674,24 @@ void ath9k_set_hw_capab(struct ath_softc
+@@ -675,6 +678,24 @@ void ath9k_set_hw_capab(struct ath_softc
        SET_IEEE80211_PERM_ADDR(hw, common->macaddr);
  }
  
        SET_IEEE80211_PERM_ADDR(hw, common->macaddr);
  }
  
@@ -42,7 +42,7 @@
  int ath9k_init_device(u16 devid, struct ath_softc *sc, u16 subsysid,
                    const struct ath_bus_ops *bus_ops)
  {
  int ath9k_init_device(u16 devid, struct ath_softc *sc, u16 subsysid,
                    const struct ath_bus_ops *bus_ops)
  {
-@@ -689,6 +710,9 @@ int ath9k_init_device(u16 devid, struct 
+@@ -693,6 +714,9 @@ int ath9k_init_device(u16 devid, struct 
        common = ath9k_hw_common(ah);
        ath9k_set_hw_capab(sc, hw);
  
        common = ath9k_hw_common(ah);
        ath9k_set_hw_capab(sc, hw);
  
@@ -54,7 +54,7 @@
                              ath9k_reg_notifier);
 --- a/drivers/net/wireless/ath/ath9k/ath9k.h
 +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
                              ath9k_reg_notifier);
 --- a/drivers/net/wireless/ath/ath9k/ath9k.h
 +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
-@@ -591,6 +591,8 @@ struct ath_softc {
+@@ -594,6 +594,8 @@ struct ath_softc {
  
        int beacon_interval;
  
  
        int beacon_interval;
  
index 7d6bd4f74c9b48fe14fddbb825f0254f6a3e3427..2544bbf47253a77f8ac1f32c480430bbe12a126c 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/gpio.c
 +++ b/drivers/net/wireless/ath/ath9k/gpio.c
 --- a/drivers/net/wireless/ath/ath9k/gpio.c
 +++ b/drivers/net/wireless/ath/ath9k/gpio.c
-@@ -138,7 +138,9 @@ void ath_init_leds(struct ath_softc *sc)
+@@ -139,7 +139,9 @@ void ath_init_leds(struct ath_softc *sc)
        if (AR_SREV_9100(sc->sc_ah))
                return;
  
        if (AR_SREV_9100(sc->sc_ah))
                return;
  
@@ -13,7 +13,7 @@
                sc->sc_ah->led_pin = ATH_LED_PIN_DEF;
 --- a/drivers/net/wireless/ath/ath9k/ath9k.h
 +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
                sc->sc_ah->led_pin = ATH_LED_PIN_DEF;
 --- a/drivers/net/wireless/ath/ath9k/ath9k.h
 +++ b/drivers/net/wireless/ath/ath9k/ath9k.h
-@@ -463,6 +463,7 @@ void ath9k_btcoex_timer_pause(struct ath
+@@ -466,6 +466,7 @@ void ath9k_btcoex_timer_pause(struct ath
  
  #define ATH_LED_PIN_DEF               1
  #define ATH_LED_PIN_9287              8
  
  #define ATH_LED_PIN_DEF               1
  #define ATH_LED_PIN_9287              8
index 0983abf335050ae6bec11a4610760715e9009c6a..9cb129309089ef3789e1ce26159380afc62aa341 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -655,7 +655,11 @@ void ath9k_set_hw_capab(struct ath_softc
+@@ -659,7 +659,11 @@ void ath9k_set_hw_capab(struct ath_softc
        hw->sta_data_size = sizeof(struct ath_node);
        hw->vif_data_size = sizeof(struct ath_vif);
  
        hw->sta_data_size = sizeof(struct ath_node);
        hw->vif_data_size = sizeof(struct ath_vif);
  
diff --git a/package/mac80211/patches/510-ath9k_fix_ampdu_retry_count.patch b/package/mac80211/patches/510-ath9k_fix_ampdu_retry_count.patch
deleted file mode 100644 (file)
index 8e6e6d0..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/xmit.c
-+++ b/drivers/net/wireless/ath/ath9k/xmit.c
-@@ -328,6 +328,7 @@ static void ath_tx_complete_aggr(struct 
-       u32 ba[WME_BA_BMP_SIZE >> 5];
-       int isaggr, txfail, txpending, sendbar = 0, needreset = 0, nbad = 0;
-       bool rc_update = true;
-+      struct ieee80211_tx_rate rates[4];
-       skb = bf->bf_mpdu;
-       hdr = (struct ieee80211_hdr *)skb->data;
-@@ -335,6 +336,8 @@ static void ath_tx_complete_aggr(struct 
-       tx_info = IEEE80211_SKB_CB(skb);
-       hw = bf->aphy->hw;
-+      memcpy(rates, tx_info->control.rates, sizeof(rates));
-+
-       rcu_read_lock();
-       /* XXX: use ieee80211_find_sta! */
-@@ -375,6 +378,9 @@ static void ath_tx_complete_aggr(struct 
-               txfail = txpending = 0;
-               bf_next = bf->bf_next;
-+              skb = bf->bf_mpdu;
-+              tx_info = IEEE80211_SKB_CB(skb);
-+
-               if (ATH_BA_ISSET(ba, ATH_BA_INDEX(seq_st, bf->bf_seqno))) {
-                       /* transmit completion, subframe is
-                        * acked by block ack */
-@@ -428,6 +434,7 @@ static void ath_tx_complete_aggr(struct 
-                       spin_unlock_bh(&txq->axq_lock);
-                       if (rc_update && (acked_cnt == 1 || txfail_cnt == 1)) {
-+                              memcpy(tx_info->control.rates, rates, sizeof(rates));
-                               ath_tx_rc_status(bf, ts, nbad, txok, true);
-                               rc_update = false;
-                       } else {
-@@ -2014,7 +2021,7 @@ static void ath_tx_rc_status(struct ath_
-               tx_info->status.rates[i].idx = -1;
-       }
--      tx_info->status.rates[tx_rateindex].count = bf->bf_retries + 1;
-+      tx_info->status.rates[tx_rateindex].count = ts->ts_longretry + 1;
- }
- static void ath_wake_mac80211_queue(struct ath_softc *sc, struct ath_txq *txq)
-@@ -2125,7 +2132,6 @@ static void ath_tx_processq(struct ath_s
-                        * This frame is sent out as a single frame.
-                        * Use hardware retry status for this frame.
-                        */
--                      bf->bf_retries = ts.ts_longretry;
-                       if (ts.ts_status & ATH9K_TXERR_XRETRY)
-                               bf->bf_state.bf_type |= BUF_XRETRY;
-                       ath_tx_rc_status(bf, &ts, 0, txok, true);
-@@ -2255,7 +2261,6 @@ void ath_tx_edma_tasklet(struct ath_soft
-               }
-               if (!bf_isampdu(bf)) {
--                      bf->bf_retries = txs.ts_longretry;
-                       if (txs.ts_status & ATH9K_TXERR_XRETRY)
-                               bf->bf_state.bf_type |= BUF_XRETRY;
-                       ath_tx_rc_status(bf, &txs, 0, txok, true);
index 9d7daec14a6c4bcf03ad47a901f0e322be290d55..feb5d477a406c9eab528f43552d554f68cd71bf1 100644 (file)
@@ -1,8 +1,6 @@
-Index: compat-wireless-2010-06-10/drivers/net/wireless/rt2x00/rt2x00pci.c
-===================================================================
---- compat-wireless-2010-06-10.orig/drivers/net/wireless/rt2x00/rt2x00pci.c    2010-06-20 15:01:59.000000000 +0200
-+++ compat-wireless-2010-06-10/drivers/net/wireless/rt2x00/rt2x00pci.c 2010-06-20 15:02:32.000000000 +0200
-@@ -327,8 +327,10 @@
+--- a/drivers/net/wireless/rt2x00/rt2x00pci.c
++++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
+@@ -327,8 +327,10 @@ int rt2x00pci_probe(struct pci_dev *pci_
  
        pci_set_master(pci_dev);
  
  
        pci_set_master(pci_dev);
  
@@ -13,4 +11,3 @@ Index: compat-wireless-2010-06-10/drivers/net/wireless/rt2x00/rt2x00pci.c
  
        if (dma_set_mask(&pci_dev->dev, DMA_BIT_MASK(32))) {
                ERROR_PROBE("PCI DMA not supported.\n");
  
        if (dma_set_mask(&pci_dev->dev, DMA_BIT_MASK(32))) {
                ERROR_PROBE("PCI DMA not supported.\n");
-