Changeset 26536 for branches/backfire


Ignore:
Timestamp:
2011-04-08T20:55:18+02:00 (5 years ago)
Author:
nbd
Message:

mac80211: update to trunk as of r26534

Location:
branches/backfire/package/mac80211
Files:
4 added
7 deleted
11 edited
3 moved

Legend:

Unmodified
Added
Removed
  • branches/backfire/package/mac80211/Makefile

    r26370 r26536  
    1111PKG_NAME:=mac80211 
    1212 
    13 PKG_VERSION:=2011-03-24 
    14 PKG_RELEASE:=1 
     13PKG_VERSION:=2011-04-06 
     14PKG_RELEASE:=2 
    1515PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources 
    16 PKG_MD5SUM:=f5713fb3ab59bdd3d0ce931b813ef960 
     16PKG_MD5SUM:=7ef8c2d9ee25af7ed33cf339f2484249 
    1717 
    1818PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2 
     
    284284define KernelPackage/rt2800-lib 
    285285$(call KernelPackage/rt2x00/Default) 
    286   DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +USB_SUPPORT:kmod-rt2x00-usb +TARGET_ramips:kmod-rt2x00-soc +@DRIVER_11N_SUPPORT 
     286  DEPENDS+= @(PCI_SUPPORT||USB_SUPPORT||TARGET_ramips) +kmod-rt2x00-lib +TARGET_ramips:kmod-rt2x00-soc +@DRIVER_11N_SUPPORT 
    287287  TITLE+= (rt2800 LIB) 
    288288  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800lib.ko 
     
    332332define KernelPackage/rt2800-pci 
    333333$(call KernelPackage/rt2x00/Default) 
    334   DEPENDS+= +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc 
     334  DEPENDS+= @(PCI_SUPPORT||TARGET_ramips) +kmod-rt2x00-pci +kmod-rt2800-lib +kmod-crc-ccitt +TARGET_ramips:kmod-rt2x00-soc 
    335335  TITLE+= (RT2860 PCI) 
    336336  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800pci.ko 
     
    340340define KernelPackage/rt2800-usb 
    341341$(call KernelPackage/rt2x00/Default) 
    342   DEPENDS+= +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt 
     342  DEPENDS+= @USB_SUPPORT +kmod-rt2x00-usb +kmod-rt2800-lib +kmod-crc-ccitt 
    343343  TITLE+= (RT2870 USB) 
    344344  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rt2x00/rt2800usb.ko 
     
    363363define KernelPackage/rtl8187 
    364364$(call KernelPackage/rtl818x/Default) 
    365   DEPENDS+= @USB_SUPPORT 
     365  DEPENDS+= @USB_SUPPORT +kmod-usb-core 
    366366  TITLE+= (RTL8187 USB) 
    367367  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko 
     
    681681define KernelPackage/net-hermes-pcmcia/description 
    682682 Kernel modules for Hermes based PCMCIA adaptors 
     683endef 
     684 
     685IWL3945_NAME:=iwlwifi-3945-ucode 
     686IWL3945_VERSION:=15.32.2.9 
     687IWL3945_MD5SUM:=d99a75ab1305d1532a09471b2f9a547a 
     688IWL4965_NAME:=iwlwifi-4965-ucode 
     689IWL4965_VERSION:=228.61.2.24 
     690IWL4965_MD5SUM:=2531028773cfc22aca5539c734f2a241 
     691IWL5000_NAME:=iwlwifi-5000-ucode 
     692IWL5000_VERSION:=8.83.5.1 
     693IWL5000_MD5SUM:=da82465019b3c7d1ee5156474ab4931d 
     694IWL5150_NAME:=iwlwifi-5150-ucode 
     695IWL5150_VERSION:=8.24.2.2 
     696IWL5150_MD5SUM:=f9cee16e455e8046b1bf62c93f882d5d 
     697IWL1000_NAME:=iwlwifi-1000-ucode 
     698IWL1000_VERSION:=39.31.5.1 
     699IWL1000_MD5SUM:=8098503cb2abcdeffffb3ddd2d8d6f60 
     700IWL6000_NAME:=iwlwifi-6000-ucode 
     701IWL6000_VERSION:=9.221.4.1 
     702IWL6000_MD5SUM:=c132a4c1946a9dbc0c36b41696e5c793 
     703IWL6050_NAME:=iwlwifi-6050-ucode 
     704IWL6050_VERSION:=41.28.5.1 
     705IWL6050_MD5SUM:=cb484a65b9139666d4ddebf60598a87b 
     706IWL6005_NAME:=iwlwifi-6000g2a-ucode 
     707IWL6005_VERSION:=17.168.5.2 
     708IWL6005_MD5SUM:=0b9579f4b8faf51c955295607a8e79a8 
     709IWL6030_NAME:=iwlwifi-6000g2b-ucode 
     710IWL6030_VERSION:=17.168.5.2 
     711IWL6030_MD5SUM:=d87411296b4eeda0c91322228e9f8437 
     712IWL100_NAME:=iwlwifi-100-ucode 
     713IWL100_VERSION:=39.31.5.1 
     714IWL100_MD5SUM:=b686f0ab94888ccca3ce74d2d6ee1133 
     715 
     716 
     717define Download/iwl-fw/Default 
     718  URL:=http://intellinuxwireless.org/iwlwifi/downloads/ 
     719endef 
     720 
     721define Download/iwl3945-fw 
     722  $(call Download/iwl-fw/Default) 
     723  FILE:=$(IWL3945_NAME)-$(IWL3945_VERSION).tgz 
     724  MD5SUM:=$(IWL3945_MD5SUM) 
     725endef 
     726$(eval $(call Download,iwl3945-fw)) 
     727 
     728define Download/iwl4965-fw 
     729  $(call Download/iwl-fw/Default) 
     730  FILE:=$(IWL4965_NAME)-$(IWL4965_VERSION).tgz 
     731  MD5SUM:=$(IWL4965_MD5SUM) 
     732endef 
     733$(eval $(call Download,iwl4965-fw)) 
     734 
     735define Download/iwl5000-fw 
     736  $(call Download/iwl-fw/Default) 
     737  FILE:=$(IWL5000_NAME)-$(IWL5000_VERSION).tgz 
     738  MD5SUM:=$(IWL5000_MD5SUM) 
     739endef 
     740$(eval $(call Download,iwl5000-fw)) 
     741 
     742define Download/iwl5150-fw 
     743  $(call Download/iwl-fw/Default) 
     744  FILE:=$(IWL5150_NAME)-$(IWL5150_VERSION).tgz 
     745  MD5SUM:=$(IWL5150_MD5SUM) 
     746endef 
     747$(eval $(call Download,iwl5150-fw)) 
     748 
     749define Download/iwl1000-fw 
     750  $(call Download/iwl-fw/Default) 
     751  FILE:=$(IWL1000_NAME)-$(IWL1000_VERSION).tgz 
     752  MD5SUM:=$(IWL1000_MD5SUM) 
     753endef 
     754$(eval $(call Download,iwl1000-fw)) 
     755 
     756define Download/iwl6000-fw 
     757  $(call Download/iwl-fw/Default) 
     758  FILE:=$(IWL6000_NAME)-$(IWL6000_VERSION).tgz 
     759  MD5SUM:=$(IWL6000_MD5SUM) 
     760endef 
     761$(eval $(call Download,iwl6000-fw)) 
     762 
     763define Download/iwl6050-fw 
     764  $(call Download/iwl-fw/Default) 
     765  FILE:=$(IWL6050_NAME)-$(IWL6050_VERSION).tgz 
     766  MD5SUM:=$(IWL6050_MD5SUM) 
     767endef 
     768$(eval $(call Download,iwl6050-fw)) 
     769 
     770define Download/iwl6005-fw 
     771  $(call Download/iwl-fw/Default) 
     772  FILE:=$(IWL6005_NAME)-$(IWL6005_VERSION).tgz 
     773  MD5SUM:=$(IWL6005_MD5SUM) 
     774endef 
     775$(eval $(call Download,iwl6005-fw)) 
     776 
     777define Download/iwl6030-fw 
     778  $(call Download/iwl-fw/Default) 
     779  FILE:=$(IWL6030_NAME)-$(IWL6030_VERSION).tgz 
     780  MD5SUM:=$(IWL6030_MD5SUM) 
     781endef 
     782$(eval $(call Download,iwl6030-fw)) 
     783 
     784define Download/iwl100-fw 
     785  $(call Download/iwl-fw/Default) 
     786  FILE:=$(IWL100_NAME)-$(IWL100_VERSION).tgz 
     787  MD5SUM:=$(IWL100_MD5SUM) 
     788endef 
     789$(eval $(call Download,iwl100-fw)) 
     790 
     791define KernelPackage/iwlagn 
     792  $(call KernelPackage/mac80211/Default) 
     793  DEPENDS:= +kmod-mac80211 
     794  TITLE:=Intel AGN Wireless support 
     795  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlwifi/iwlagn.$(LINUX_KMOD_SUFFIX) 
     796  AUTOLOAD:=$(call AutoLoad,60,iwlagn) 
     797  MENU:=1 
     798endef 
     799 
     800define KernelPackage/iwlagn/description 
     801 iwlagn kernel module for Intel 5000/5150/1000/6000/6050/6005/6030/100 support 
     802endef 
     803 
     804define KernelPackage/iwlagn/config 
     805        menu "Configuration" 
     806                depends on PACKAGE_kmod-iwlagn 
     807 
     808        config IWL5000_FW 
     809                bool "Intel 5000 Firmware" 
     810                default y 
     811                help 
     812                  Download and install firmware for: 
     813                    Intel 5000 wireless card into /lib/firmware. 
     814 
     815        config IWL5150_FW 
     816                bool "Intel 5150 Firmware" 
     817                default y 
     818                help 
     819                  Download and install firmware for: 
     820                    Intel 5150 wireless card into /lib/firmware. 
     821 
     822        config IWL1000_FW 
     823                bool "Intel 1000 Firmware" 
     824                default y 
     825                help 
     826                  Download and install firmware for: 
     827                    Intel 1000 wireless card into /lib/firmware. 
     828 
     829        config IWL6000_FW 
     830                bool "Intel 6000 Firmware" 
     831                default y 
     832                help 
     833                  Download and install firmware for: 
     834                    Intel 6000 wireless card into /lib/firmware. 
     835 
     836        config IWL6050_FW 
     837                bool "Intel 6050 Firmware" 
     838                default y 
     839                help 
     840                  Download and install firmware for: 
     841                    Intel 6050 wireless card into /lib/firmware. 
     842 
     843        config IWL6005_FW 
     844                bool "Intel 6005 Firmware" 
     845                default y 
     846                help 
     847                  Download and install firmware for: 
     848                    Intel 6005 wireless card into /lib/firmware. 
     849 
     850        config IWL6030_FW 
     851                bool "Intel 6030 Firmware" 
     852                default y 
     853                help 
     854                  Download and install firmware for: 
     855                    Intel 6030 wireless card into /lib/firmware. 
     856 
     857        config IWL100_FW 
     858                bool "Intel 100 Firmware" 
     859                default y 
     860                help 
     861                  Download and install firmware for: 
     862                    Intel 100 wireless card into /lib/firmware. 
     863 
     864        endmenu 
     865endef 
     866 
     867define KernelPackage/iwl-legacy 
     868  $(call KernelPackage/mac80211/Default) 
     869  DEPENDS:= +kmod-mac80211 
     870  TITLE:=Intel legacy Wireless support 
     871  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl-legacy.$(LINUX_KMOD_SUFFIX) 
     872  AUTOLOAD:=$(call AutoLoad,60,iwl-legacy) 
     873endef 
     874 
     875define KernelPackage/iwl-legacy/description 
     876 iwl-legacy kernel module for legacy Intel wireless support 
     877endef 
     878 
     879define KernelPackage/iwl3945 
     880  $(call KernelPackage/mac80211/Default) 
     881  DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy 
     882  TITLE:=Intel iwl3945 Wireless support 
     883  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl3945.$(LINUX_KMOD_SUFFIX) 
     884  AUTOLOAD:=$(call AutoLoad,61,iwl3945) 
     885endef 
     886 
     887define KernelPackage/iwl3945/description 
     888 iwl3945 kernel module for Intel 3945 support 
     889endef 
     890 
     891define KernelPackage/iwl4965 
     892  $(call KernelPackage/mac80211/Default) 
     893  DEPENDS:= +kmod-mac80211 +kmod-iwl-legacy 
     894  TITLE:=Intel iwl4965 Wireless support 
     895  FILES:=$(PKG_BUILD_DIR)/drivers/net/wireless/iwlegacy/iwl4965.$(LINUX_KMOD_SUFFIX) 
     896  AUTOLOAD:=$(call AutoLoad,61,iwl4965) 
     897endef 
     898 
     899define KernelPackage/iwl4965/description 
     900 iwl4965 kernel module for Intel 4965 support 
    683901endef 
    684902 
     
    9271145        $(if $(CONFIG_LEDS_TRIGGERS), -DCONFIG_MAC80211_LEDS -DCONFIG_LEDS_TRIGGERS -DCONFIG_B43_LEDS -DCONFIG_B43LEGACY_LEDS -DCONFIG_AR9170_LEDS) \ 
    9281146        -DCONFIG_B43_HWRNG -DCONFIG_B43LEGACY_HWRNG \ 
    929         $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS) \ 
     1147        $(if $(CONFIG_PACKAGE_MAC80211_DEBUGFS),-DCONFIG_MAC80211_DEBUGFS -DCONFIG_ATH9K_DEBUGFS -DCONFIG_CARL9170_DEBUGFS -DCONFIG_ATH9K_HTC_DEBUGFS) \ 
    9301148        $(if $(CONFIG_PACKAGE_ATH_DEBUG),-DCONFIG_ATH_DEBUG -DCONFIG_ATH9K_PKTLOG -DCONFIG_ATH5K_DEBUG) \ 
    9311149        -D__CONFIG_MAC80211_RC_DEFAULT=minstrel \ 
     
    9411159        $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),-DCONFIG_RT2X00_LIB_USB) \ 
    9421160        $(if $(CONFIG_PACKAGE_kmod-rt2x00-soc),-DCONFIG_RT2X00_LIB_SOC) \ 
    943         $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) 
     1161        $(if $(CONFIG_TARGET_atheros),-DCONFIG_ATH5K_AHB,-DCONFIG_ATH5K_PCI) \ 
     1162        $(if $(CONFIG_PACKAGE_kmod-iwl3945),-DCONFIG_COMPAT_IWL3945) \ 
     1163        $(if $(CONFIG_PACKAGE_kmod-iwl4965),-DCONFIG_COMPAT_IWL4965) 
    9441164 
    9451165MAKE_OPTS:= \ 
     
    10191239        CONFIG_LIB80211_CRYPT_CCMP= \ 
    10201240        CONFIG_LIB80211_CRYPT_TKIP= \ 
    1021         CONFIG_COMPAT_IWLWIFI= \ 
    1022         CONFIG_IWLWIFI_LEGACY= \ 
    1023         CONFIG_IWLAGN= \ 
     1241        CONFIG_IWLAGN=$(if $(CONFIG_PACKAGE_kmod-iwlagn),m) \ 
     1242        CONFIG_IWLWIFI_LEGACY=$(if $(CONFIG_PACKAGE_kmod-iwl-legacy),m) \ 
     1243        CONFIG_COMPAT_IWL4965=$(if $(CONFIG_PACKAGE_kmod-iwl4965),m) \ 
     1244        CONFIG_IWL3945=$(if $(CONFIG_PACKAGE_kmod-iwl3945),m) \ 
    10241245        CONFIG_MWL8K=$(if $(CONFIG_PACKAGE_kmod-mwl8k),m) \ 
    10251246        CONFIG_ATMEL= \ 
     
    10471268        CONFIG_AR9170_LEDS=$(CONFIG_LEDS_TRIGGERS) \ 
    10481269        CONFIG_IWM= \ 
     1270        CONFIG_MWIFIEX= \ 
    10491271        CONFIG_MAC80211_RC_MINSTREL_HT=y \ 
    10501272        MADWIFI= \ 
    1051         OLD_IWL= \ 
    10521273        KLIB_BUILD="$(LINUX_DIR)" \ 
    10531274        MODPROBE=: \ 
     
    10711292        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2100_NAME)-$(IPW2100_VERSION).tgz 
    10721293        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION).tgz 
     1294        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL3945_NAME)-$(IWL3945_VERSION).tgz 
     1295        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL4965_NAME)-$(IWL4965_VERSION).tgz 
     1296        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL5000_NAME)-$(IWL5000_VERSION).tgz 
     1297        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL5150_NAME)-$(IWL5150_VERSION).tgz 
     1298        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL1000_NAME)-$(IWL1000_VERSION).tgz 
     1299        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6000_NAME)-$(IWL6000_VERSION).tgz 
     1300        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6050_NAME)-$(IWL6050_VERSION).tgz 
     1301        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6005_NAME)-$(IWL6005_VERSION).tgz 
     1302        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL6030_NAME)-$(IWL6030_VERSION).tgz 
     1303        $(TAR) -C $(PKG_BUILD_DIR) -xzf $(DL_DIR)/$(IWL100_NAME)-$(IWL100_VERSION).tgz 
    10731304        $(TAR) -C $(PKG_BUILD_DIR) -xjf $(DL_DIR)/$(ZD1211FW_NAME)-$(ZD1211FW_VERSION).tar.bz2 
    10741305        rm -rf $(PKG_BUILD_DIR)/include/linux/ssb 
     
    11771408        $(INSTALL_DIR) $(1)/lib/firmware 
    11781409        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IPW2200_NAME)-$(IPW2200_VERSION)/ipw2200*.fw $(1)/lib/firmware 
     1410endef 
     1411 
     1412define KernelPackage/iwlagn/install 
     1413        $(INSTALL_DIR) $(1)/lib/firmware 
     1414ifneq ($(CONFIG_IWL5000_FW),) 
     1415        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL5000_NAME)-$(IWL5000_VERSION)/iwlwifi-5000-*.ucode $(1)/lib/firmware 
     1416endif 
     1417ifneq ($(CONFIG_IWL5150_FW),) 
     1418        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL5150_NAME)-$(IWL5150_VERSION)/iwlwifi-5150-*.ucode $(1)/lib/firmware 
     1419endif 
     1420ifneq ($(CONFIG_IWL1000_FW),) 
     1421        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL1000_NAME)-$(IWL1000_VERSION)/iwlwifi-1000-*.ucode $(1)/lib/firmware 
     1422endif 
     1423ifneq ($(CONFIG_IWL6000_FW),) 
     1424        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6000_NAME)-$(IWL6000_VERSION)/iwlwifi-6000-*.ucode $(1)/lib/firmware 
     1425endif 
     1426ifneq ($(CONFIG_IWL6050_FW),) 
     1427        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6050_NAME)-$(IWL6050_VERSION)/iwlwifi-6050-*.ucode $(1)/lib/firmware 
     1428endif 
     1429ifneq ($(CONFIG_IWL6005_FW),) 
     1430        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6005_NAME)-$(IWL6005_VERSION)/iwlwifi-6000g2a-*.ucode $(1)/lib/firmware 
     1431endif 
     1432ifneq ($(CONFIG_IWL6030_FW),) 
     1433        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL6030_NAME)-$(IWL6030_VERSION)/iwlwifi-6000g2b-*.ucode $(1)/lib/firmware 
     1434endif 
     1435ifneq ($(CONFIG_IWL100_FW),) 
     1436        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL100_NAME)-$(IWL100_VERSION)/iwlwifi-100-*.ucode $(1)/lib/firmware 
     1437endif 
     1438endef 
     1439 
     1440define KernelPackage/iwl3945/install 
     1441        $(INSTALL_DIR) $(1)/lib/firmware 
     1442        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL3945_NAME)-$(IWL3945_VERSION)/iwlwifi-3945-*.ucode $(1)/lib/firmware 
     1443endef 
     1444 
     1445define KernelPackage/iwl4965/install 
     1446        $(INSTALL_DIR) $(1)/lib/firmware 
     1447        $(INSTALL_DATA) $(PKG_BUILD_DIR)/$(IWL4965_NAME)-$(IWL4965_VERSION)/iwlwifi-4965-*.ucode $(1)/lib/firmware 
    11791448endef 
    11801449 
     
    12621531$(eval $(call KernelPackage,net-ipw2100)) 
    12631532$(eval $(call KernelPackage,net-ipw2200)) 
     1533$(eval $(call KernelPackage,iwlagn)) 
     1534$(eval $(call KernelPackage,iwl-legacy)) 
     1535$(eval $(call KernelPackage,iwl4965)) 
     1536$(eval $(call KernelPackage,iwl3945)) 
    12641537$(eval $(call KernelPackage,mwl8k)) 
    12651538$(eval $(call KernelPackage,net-hermes)) 
  • branches/backfire/package/mac80211/patches/002-disable_rfkill.patch

    r25966 r26536  
    1010 ifeq ($(CONFIG_MAC80211),y) 
    1111 $(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") 
    12 @@ -623,10 +623,10 @@ endif #CONFIG_COMPAT_KERNEL_27 
     12@@ -626,10 +626,10 @@ endif #CONFIG_COMPAT_KERNEL_27 
    1313 # We need the backported rfkill module on kernel < 2.6.31. 
    1414 # In more recent kernel versions use the in kernel rfkill module. 
  • branches/backfire/package/mac80211/patches/007-remove_misc_drivers.patch

    r25966 r26536  
    44 endif #CONFIG_WIRELESS_EXT 
    55  
    6  ifneq ($(CONFIG_STAGING),) 
    7 - CONFIG_COMPAT_STAGING=m 
    8 +# CONFIG_COMPAT_STAGING=m 
    9  endif 
     6 ifdef CONFIG_STAGING 
     7-CONFIG_COMPAT_STAGING=y 
     8+# CONFIG_COMPAT_STAGING=y 
     9 endif #CONFIG_STAGING 
    1010  
    1111 # mac80211 test driver 
  • branches/backfire/package/mac80211/patches/030-disable_tty_set_termios.patch

    r26370 r26536  
    11--- a/compat/compat-2.6.39.c 
    22+++ b/compat/compat-2.6.39.c 
    3 @@ -12,6 +12,7 @@ 
     3@@ -11,6 +11,7 @@ 
     4 #include <linux/compat.h> 
    45 #include <linux/tty.h> 
    5  #include <linux/sched.h> 
    66  
    77+#ifdef CONFIG_COMPAT_BLUETOOTH 
     
    99 /* 
    1010  *             Termios Helper Methods 
    11 @@ -111,4 +112,4 @@ int tty_set_termios(struct tty_struct *t 
     11@@ -110,4 +111,4 @@ int tty_set_termios(struct tty_struct *t 
    1212 } 
    1313 EXPORT_SYMBOL_GPL(tty_set_termios); 
  • branches/backfire/package/mac80211/patches/300-pending_work.patch

    r26370 r26536  
    11--- a/drivers/net/wireless/ath/ath9k/main.c 
    22+++ b/drivers/net/wireless/ath/ath9k/main.c 
    3 @@ -1048,6 +1048,8 @@ static int ath9k_start(struct ieee80211_ 
    4                 "Starting driver with initial channel: %d MHz\n", 
    5                 curchan->center_freq); 
    6   
    7 +       ath9k_ps_wakeup(sc); 
    8 + 
    9         mutex_lock(&sc->mutex); 
    10   
    11         /* setup initial channel */ 
    12 @@ -1143,6 +1145,8 @@ static int ath9k_start(struct ieee80211_ 
    13  mutex_unlock: 
    14         mutex_unlock(&sc->mutex); 
    15   
    16 +       ath9k_ps_restore(sc); 
    17 + 
    18         return r; 
    19  } 
    20   
    21 --- a/net/mac80211/ibss.c 
    22 +++ b/net/mac80211/ibss.c 
    23 @@ -661,7 +661,6 @@ static void ieee80211_sta_find_ibss(stru 
    24  static void ieee80211_rx_mgmt_probe_req(struct ieee80211_sub_if_data *sdata, 
    25                                         struct sk_buff *req) 
     3@@ -324,7 +324,6 @@ static void ath_paprd_activate(struct at 
     4        if (!caldata || !caldata->paprd_done) 
     5                return; 
     6  
     7-       ath9k_ps_wakeup(sc); 
     8        ar9003_paprd_enable(ah, false); 
     9        for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { 
     10                if (!(common->tx_chainmask & BIT(chain))) 
     11@@ -334,7 +333,6 @@ static void ath_paprd_activate(struct at 
     12        } 
     13  
     14        ar9003_paprd_enable(ah, true); 
     15-       ath9k_ps_restore(sc); 
     16 } 
     17  
     18 static bool ath_paprd_send_frame(struct ath_softc *sc, struct sk_buff *skb, int chain) 
     19@@ -554,8 +552,11 @@ set_timer: 
     20        if ((sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_PAPRD) && ah->caldata) { 
     21                if (!ah->caldata->paprd_done) 
     22                        ieee80211_queue_work(sc->hw, &sc->paprd_work); 
     23-               else if (!ah->paprd_table_write_done) 
     24+               else if (!ah->paprd_table_write_done) { 
     25+                       ath9k_ps_wakeup(sc); 
     26                        ath_paprd_activate(sc); 
     27+                       ath9k_ps_restore(sc); 
     28+               } 
     29        } 
     30 } 
     31  
     32@@ -1376,7 +1377,6 @@ static void ath9k_calculate_summary_stat 
     33  
     34        ath9k_calculate_iter_data(hw, vif, &iter_data); 
     35  
     36-       ath9k_ps_wakeup(sc); 
     37        /* Set BSSID mask. */ 
     38        memcpy(common->bssidmask, iter_data.mask, ETH_ALEN); 
     39        ath_hw_setbssidmask(common); 
     40@@ -1411,7 +1411,6 @@ static void ath9k_calculate_summary_stat 
     41        } 
     42  
     43        ath9k_hw_set_interrupts(ah, ah->imask); 
     44-       ath9k_ps_restore(sc); 
     45  
     46        /* Set up ANI */ 
     47        if ((iter_data.naps + iter_data.nadhocs) > 0) { 
     48@@ -1457,6 +1456,7 @@ static int ath9k_add_interface(struct ie 
     49        struct ath_vif *avp = (void *)vif->drv_priv; 
     50        int ret = 0; 
     51  
     52+       ath9k_ps_wakeup(sc); 
     53        mutex_lock(&sc->mutex); 
     54  
     55        switch (vif->type) { 
     56@@ -1503,6 +1503,7 @@ static int ath9k_add_interface(struct ie 
     57        ath9k_do_vif_add_setup(hw, vif); 
     58 out: 
     59        mutex_unlock(&sc->mutex); 
     60+       ath9k_ps_restore(sc); 
     61        return ret; 
     62 } 
     63  
     64@@ -1517,6 +1518,7 @@ static int ath9k_change_interface(struct 
     65  
     66        ath_dbg(common, ATH_DBG_CONFIG, "Change Interface\n"); 
     67        mutex_lock(&sc->mutex); 
     68+       ath9k_ps_wakeup(sc); 
     69  
     70        /* See if new interface type is valid. */ 
     71        if ((new_type == NL80211_IFTYPE_ADHOC) && 
     72@@ -1546,6 +1548,7 @@ static int ath9k_change_interface(struct 
     73  
     74        ath9k_do_vif_add_setup(hw, vif); 
     75 out: 
     76+       ath9k_ps_restore(sc); 
     77        mutex_unlock(&sc->mutex); 
     78        return ret; 
     79 } 
     80@@ -1558,6 +1561,7 @@ static void ath9k_remove_interface(struc 
     81  
     82        ath_dbg(common, ATH_DBG_CONFIG, "Detach Interface\n"); 
     83  
     84+       ath9k_ps_wakeup(sc); 
     85        mutex_lock(&sc->mutex); 
     86  
     87        sc->nvifs--; 
     88@@ -1569,6 +1573,7 @@ static void ath9k_remove_interface(struc 
     89        ath9k_calculate_summary_state(hw, NULL); 
     90  
     91        mutex_unlock(&sc->mutex); 
     92+       ath9k_ps_restore(sc); 
     93 } 
     94  
     95 static void ath9k_enable_ps(struct ath_softc *sc) 
     96@@ -1809,6 +1814,7 @@ static int ath9k_conf_tx(struct ieee8021 
     97  
     98        txq = sc->tx.txq_map[queue]; 
     99  
     100+       ath9k_ps_wakeup(sc); 
     101        mutex_lock(&sc->mutex); 
     102  
     103        memset(&qi, 0, sizeof(struct ath9k_tx_queue_info)); 
     104@@ -1832,6 +1838,7 @@ static int ath9k_conf_tx(struct ieee8021 
     105                        ath_beaconq_config(sc); 
     106  
     107        mutex_unlock(&sc->mutex); 
     108+       ath9k_ps_restore(sc); 
     109  
     110        return ret; 
     111 } 
     112@@ -1908,6 +1915,7 @@ static void ath9k_bss_info_changed(struc 
     113        int slottime; 
     114        int error; 
     115  
     116+       ath9k_ps_wakeup(sc); 
     117        mutex_lock(&sc->mutex); 
     118  
     119        if (changed & BSS_CHANGED_BSSID) { 
     120@@ -2008,6 +2016,7 @@ static void ath9k_bss_info_changed(struc 
     121        } 
     122  
     123        mutex_unlock(&sc->mutex); 
     124+       ath9k_ps_restore(sc); 
     125 } 
     126  
     127 static u64 ath9k_get_tsf(struct ieee80211_hw *hw) 
     128--- a/drivers/net/wireless/ath/ath9k/beacon.c 
     129+++ b/drivers/net/wireless/ath/ath9k/beacon.c 
     130@@ -392,14 +392,6 @@ void ath_beacon_tasklet(unsigned long da 
     131        tsf += TU_TO_USEC(ah->config.sw_beacon_response_time); 
     132        tsftu = TSF_TO_TU((tsf * ATH_BCBUF) >>32, tsf * ATH_BCBUF); 
     133        slot = (tsftu % (intval * ATH_BCBUF)) / intval; 
     134-       /* 
     135-        * Reverse the slot order to get slot 0 on the TBTT offset that does 
     136-        * not require TSF adjustment and other slots adding 
     137-        * slot/ATH_BCBUF * beacon_int to timestamp. For example, with 
     138-        * ATH_BCBUF = 4, we process beacon slots as follows: 3 2 1 0 3 2 1 .. 
     139-        * and slot 0 is at correct offset to TBTT. 
     140-        */ 
     141-       slot = ATH_BCBUF - slot - 1; 
     142        vif = sc->beacon.bslot[slot]; 
     143  
     144        ath_dbg(common, ATH_DBG_BEACON, 
     145@@ -708,7 +700,7 @@ void ath_beacon_config(struct ath_softc  
     146        if (cur_conf->dtim_period == 0) 
     147                cur_conf->dtim_period = 1; 
     148  
     149-       switch (iftype) { 
     150+       switch (sc->sc_ah->opmode) { 
     151        case NL80211_IFTYPE_AP: 
     152                ath_beacon_config_ap(sc, cur_conf); 
     153                break; 
     154--- a/net/mac80211/rx.c 
     155+++ b/net/mac80211/rx.c 
     156@@ -1585,7 +1585,7 @@ ieee80211_drop_unencrypted_mgmt(struct i 
     157 } 
     158  
     159 static int 
     160-__ieee80211_data_to_8023(struct ieee80211_rx_data *rx) 
     161+__ieee80211_data_to_8023(struct ieee80211_rx_data *rx, bool *port_control) 
    26162 { 
    27 -       struct ieee80211_rx_status *rx_status = IEEE80211_SKB_RXCB(req); 
    28         struct ieee80211_mgmt *mgmt = (void *)req->data; 
    29         struct ieee80211_if_ibss *ifibss = &sdata->u.ibss; 
    30         struct ieee80211_local *local = sdata->local; 
    31 @@ -685,7 +684,7 @@ static void ieee80211_rx_mgmt_probe_req( 
    32                mgmt->bssid, tx_last_beacon); 
    33  #endif /* CONFIG_MAC80211_IBSS_DEBUG */ 
    34   
    35 -       if (!tx_last_beacon && !(rx_status->rx_flags & IEEE80211_RX_RA_MATCH)) 
    36 +       if (!tx_last_beacon && is_multicast_ether_addr(mgmt->da)) 
    37                 return; 
    38   
    39         if (memcmp(mgmt->bssid, ifibss->bssid, ETH_ALEN) != 0 && 
    40 --- a/net/mac80211/rc80211_minstrel_ht.c 
    41 +++ b/net/mac80211/rc80211_minstrel_ht.c 
    42 @@ -659,18 +659,14 @@ minstrel_ht_update_caps(void *priv, stru 
    43         struct ieee80211_mcs_info *mcs = &sta->ht_cap.mcs; 
    44         struct ieee80211_local *local = hw_to_local(mp->hw); 
    45         u16 sta_cap = sta->ht_cap.cap; 
    46 +       int n_supported = 0; 
    47         int ack_dur; 
    48         int stbc; 
     163        struct ieee80211_sub_if_data *sdata = rx->sdata; 
     164        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; 
     165@@ -1593,6 +1593,7 @@ __ieee80211_data_to_8023(struct ieee8021 
     166        struct ethhdr *ehdr; 
     167        int ret; 
     168  
     169+       *port_control = false; 
     170        if (ieee80211_has_a4(hdr->frame_control) && 
     171            sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta) 
     172                return -1; 
     173@@ -1611,12 +1612,16 @@ __ieee80211_data_to_8023(struct ieee8021 
     174                return -1; 
     175  
     176        ret = ieee80211_data_to_8023(rx->skb, sdata->vif.addr, sdata->vif.type); 
     177-       if (ret < 0 || !check_port_control) 
     178+       if (ret < 0) 
     179                return ret; 
     180  
     181        ehdr = (struct ethhdr *) rx->skb->data; 
     182-       if (ehdr->h_proto != rx->sdata->control_port_protocol) 
     183-               return -1; 
     184+       if (ehdr->h_proto == rx->sdata->control_port_protocol) { 
     185+               *port_control = true; 
     186+ 
     187+               if (check_port_control) 
     188+                       return -1; 
     189+       } 
     190  
     191        return 0; 
     192 } 
     193@@ -1916,6 +1921,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_ 
     194        struct net_device *dev = sdata->dev; 
     195        struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data; 
     196        __le16 fc = hdr->frame_control; 
     197+       bool port_control; 
     198        int err; 
     199  
     200        if (unlikely(!ieee80211_is_data(hdr->frame_control))) 
     201@@ -1932,13 +1938,21 @@ ieee80211_rx_h_data(struct ieee80211_rx_ 
     202            sdata->vif.type == NL80211_IFTYPE_AP) 
     203                return RX_DROP_MONITOR; 
     204  
     205-       err = __ieee80211_data_to_8023(rx); 
     206+       err = __ieee80211_data_to_8023(rx, &port_control); 
     207        if (unlikely(err)) 
     208                return RX_DROP_UNUSABLE; 
     209  
     210        if (!ieee80211_frame_allowed(rx, fc)) 
     211                return RX_DROP_MONITOR; 
     212  
     213+       if (rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN && 
     214+           unlikely(port_control) && sdata->bss) { 
     215+               sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, 
     216+                                    u.ap); 
     217+               dev = sdata->dev; 
     218+               rx->sdata = sdata; 
     219+       } 
     220+ 
     221        rx->skb->dev = dev; 
     222  
     223        dev->stats.rx_packets++; 
     224--- a/drivers/net/wireless/ath/ath9k/recv.c 
     225+++ b/drivers/net/wireless/ath/ath9k/recv.c 
     226@@ -75,7 +75,6 @@ static void ath_rx_buf_link(struct ath_s 
     227                *sc->rx.rxlink = bf->bf_daddr; 
     228  
     229        sc->rx.rxlink = &ds->ds_link; 
     230-       ath9k_hw_rxena(ah); 
     231 } 
     232  
     233 static void ath_setdefantenna(struct ath_softc *sc, u32 antenna) 
     234@@ -426,9 +425,7 @@ u32 ath_calcrxfilter(struct ath_softc *s 
     235        else 
     236                rfilt |= ATH9K_RX_FILTER_BEACON; 
     237  
     238-       if ((AR_SREV_9280_20_OR_LATER(sc->sc_ah) || 
     239-           AR_SREV_9285_12_OR_LATER(sc->sc_ah)) && 
     240-           (sc->sc_ah->opmode == NL80211_IFTYPE_AP) && 
     241+       if ((sc->sc_ah->opmode == NL80211_IFTYPE_AP) || 
     242            (sc->rx.rxfilter & FIF_PSPOLL)) 
     243                rfilt |= ATH9K_RX_FILTER_PSPOLL; 
     244  
     245@@ -486,12 +483,12 @@ start_recv: 
     246 bool ath_stoprecv(struct ath_softc *sc) 
     247 { 
     248        struct ath_hw *ah = sc->sc_ah; 
     249-       bool stopped; 
     250+       bool stopped, reset = false; 
     251  
     252        spin_lock_bh(&sc->rx.rxbuflock); 
     253        ath9k_hw_abortpcurecv(ah); 
     254        ath9k_hw_setrxfilter(ah, 0); 
     255-       stopped = ath9k_hw_stopdmarecv(ah); 
     256+       stopped = ath9k_hw_stopdmarecv(ah, &reset); 
     257  
     258        if (sc->sc_ah->caps.hw_caps & ATH9K_HW_CAP_EDMA) 
     259                ath_edma_stop_recv(sc); 
     260@@ -506,7 +503,7 @@ bool ath_stoprecv(struct ath_softc *sc) 
     261                        "confusing the DMA engine when we start RX up\n"); 
     262                ATH_DBG_WARN_ON_ONCE(!stopped); 
     263        } 
     264-       return stopped; 
     265+       return stopped || reset; 
     266 } 
     267  
     268 void ath_flushrecv(struct ath_softc *sc) 
     269@@ -1767,6 +1764,7 @@ requeue: 
     270                } else { 
     271                        list_move_tail(&bf->list, &sc->rx.rxbuf); 
     272                        ath_rx_buf_link(sc, bf); 
     273+                       ath9k_hw_rxena(ah); 
     274                } 
     275        } while (1); 
     276  
     277--- a/drivers/net/wireless/ath/ath9k/hw.c 
     278+++ b/drivers/net/wireless/ath/ath9k/hw.c 
     279@@ -1249,15 +1249,6 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
     280        ah->txchainmask = common->tx_chainmask; 
     281        ah->rxchainmask = common->rx_chainmask; 
     282  
     283-       if ((common->bus_ops->ath_bus_type != ATH_USB) && !ah->chip_fullsleep) { 
     284-               ath9k_hw_abortpcurecv(ah); 
     285-               if (!ath9k_hw_stopdmarecv(ah)) { 
     286-                       ath_dbg(common, ATH_DBG_XMIT, 
     287-                               "Failed to stop receive dma\n"); 
     288-                       bChannelChange = false; 
     289-               } 
     290-       } 
     291- 
     292        if (!ath9k_hw_setpower(ah, ATH9K_PM_AWAKE)) 
     293                return -EIO; 
     294  
     295--- a/drivers/net/wireless/ath/ath9k/mac.c 
     296+++ b/drivers/net/wireless/ath/ath9k/mac.c 
     297@@ -710,27 +710,46 @@ void ath9k_hw_abortpcurecv(struct ath_hw 
     298 } 
     299 EXPORT_SYMBOL(ath9k_hw_abortpcurecv); 
     300  
     301-bool ath9k_hw_stopdmarecv(struct ath_hw *ah) 
     302+bool ath9k_hw_stopdmarecv(struct ath_hw *ah, bool *reset) 
     303 { 
     304 #define AH_RX_STOP_DMA_TIMEOUT 10000   /* usec */ 
     305        struct ath_common *common = ath9k_hw_common(ah); 
     306+       u32 mac_status, last_mac_status = 0; 
    49307        int i; 
    50308  
    51         /* fall back to the old minstrel for legacy stations */ 
    52 -       if (!sta->ht_cap.ht_supported) { 
    53 -               msp->is_ht = false; 
    54 -               memset(&msp->legacy, 0, sizeof(msp->legacy)); 
    55 -               msp->legacy.r = msp->ratelist; 
    56 -               msp->legacy.sample_table = msp->sample_table; 
    57 -               return mac80211_minstrel.rate_init(priv, sband, sta, &msp->legacy); 
    58 -       } 
    59 +       if (!sta->ht_cap.ht_supported) 
    60 +               goto use_legacy; 
    61   
    62         BUILD_BUG_ON(ARRAY_SIZE(minstrel_mcs_groups) != 
    63                 MINSTREL_MAX_STREAMS * MINSTREL_STREAM_GROUPS); 
    64 @@ -725,7 +721,22 @@ minstrel_ht_update_caps(void *priv, stru 
    65   
    66                 mi->groups[i].supported = 
    67                         mcs->rx_mask[minstrel_mcs_groups[i].streams - 1]; 
    68 + 
    69 +               if (mi->groups[i].supported) 
    70 +                       n_supported++; 
    71         } 
    72 + 
    73 +       if (!n_supported) 
    74 +               goto use_legacy; 
    75 + 
    76 +       return; 
    77 + 
    78 +use_legacy: 
    79 +       msp->is_ht = false; 
    80 +       memset(&msp->legacy, 0, sizeof(msp->legacy)); 
    81 +       msp->legacy.r = msp->ratelist; 
    82 +       msp->legacy.sample_table = msp->sample_table; 
    83 +       return mac80211_minstrel.rate_init(priv, sband, sta, &msp->legacy); 
    84  } 
    85   
    86  static void 
    87 --- a/net/mac80211/ieee80211_i.h 
    88 +++ b/net/mac80211/ieee80211_i.h 
    89 @@ -814,8 +814,8 @@ struct ieee80211_local { 
    90   
    91         struct rate_control_ref *rate_ctrl; 
    92   
    93 -       struct crypto_blkcipher *wep_tx_tfm; 
    94 -       struct crypto_blkcipher *wep_rx_tfm; 
    95 +       struct crypto_cipher *wep_tx_tfm; 
    96 +       struct crypto_cipher *wep_rx_tfm; 
    97         u32 wep_iv; 
    98   
    99         /* see iface.c */ 
    100 --- a/net/mac80211/tkip.c 
    101 +++ b/net/mac80211/tkip.c 
    102 @@ -202,7 +202,7 @@ EXPORT_SYMBOL(ieee80211_get_tkip_key); 
    103   * @payload_len is the length of payload (_not_ including IV/ICV length). 
    104   * @ta is the transmitter addresses. 
    105   */ 
    106 -int ieee80211_tkip_encrypt_data(struct crypto_blkcipher *tfm, 
    107 +int ieee80211_tkip_encrypt_data(struct crypto_cipher *tfm, 
    108                                 struct ieee80211_key *key, 
    109                                 u8 *pos, size_t payload_len, u8 *ta) 
    110  { 
    111 @@ -223,7 +223,7 @@ int ieee80211_tkip_encrypt_data(struct c 
    112   * beginning of the buffer containing IEEE 802.11 header payload, i.e., 
    113   * including IV, Ext. IV, real data, Michael MIC, ICV. @payload_len is the 
    114   * length of payload, including IV, Ext. IV, MIC, ICV.  */ 
    115 -int ieee80211_tkip_decrypt_data(struct crypto_blkcipher *tfm, 
    116 +int ieee80211_tkip_decrypt_data(struct crypto_cipher *tfm, 
    117                                 struct ieee80211_key *key, 
    118                                 u8 *payload, size_t payload_len, u8 *ta, 
    119                                 u8 *ra, int only_iv, int queue, 
    120 --- a/net/mac80211/tkip.h 
    121 +++ b/net/mac80211/tkip.h 
    122 @@ -15,7 +15,7 @@ 
    123   
    124  u8 *ieee80211_tkip_add_iv(u8 *pos, struct ieee80211_key *key, u16 iv16); 
    125   
    126 -int ieee80211_tkip_encrypt_data(struct crypto_blkcipher *tfm, 
    127 +int ieee80211_tkip_encrypt_data(struct crypto_cipher *tfm, 
    128                                  struct ieee80211_key *key, 
    129                                  u8 *pos, size_t payload_len, u8 *ta); 
    130  enum { 
    131 @@ -24,7 +24,7 @@ enum { 
    132         TKIP_DECRYPT_INVALID_KEYIDX = -2, 
    133         TKIP_DECRYPT_REPLAY = -3, 
    134  }; 
    135 -int ieee80211_tkip_decrypt_data(struct crypto_blkcipher *tfm, 
    136 +int ieee80211_tkip_decrypt_data(struct crypto_cipher *tfm, 
    137                                 struct ieee80211_key *key, 
    138                                 u8 *payload, size_t payload_len, u8 *ta, 
    139                                 u8 *ra, int only_iv, int queue, 
    140 --- a/net/mac80211/wep.c 
    141 +++ b/net/mac80211/wep.c 
    142 @@ -30,17 +30,15 @@ int ieee80211_wep_init(struct ieee80211_ 
    143         /* start WEP IV from a random value */ 
    144         get_random_bytes(&local->wep_iv, WEP_IV_LEN); 
    145   
    146 -       local->wep_tx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, 
    147 -                                               CRYPTO_ALG_ASYNC); 
    148 +       local->wep_tx_tfm = crypto_alloc_cipher("arc4", 0, CRYPTO_ALG_ASYNC); 
    149         if (IS_ERR(local->wep_tx_tfm)) { 
    150                 local->wep_rx_tfm = ERR_PTR(-EINVAL); 
    151                 return PTR_ERR(local->wep_tx_tfm); 
    152         } 
    153   
    154 -       local->wep_rx_tfm = crypto_alloc_blkcipher("ecb(arc4)", 0, 
    155 -                                               CRYPTO_ALG_ASYNC); 
    156 +       local->wep_rx_tfm = crypto_alloc_cipher("arc4", 0, CRYPTO_ALG_ASYNC); 
    157         if (IS_ERR(local->wep_rx_tfm)) { 
    158 -               crypto_free_blkcipher(local->wep_tx_tfm); 
    159 +               crypto_free_cipher(local->wep_tx_tfm); 
    160                 local->wep_tx_tfm = ERR_PTR(-EINVAL); 
    161                 return PTR_ERR(local->wep_rx_tfm); 
    162         } 
    163 @@ -51,9 +49,9 @@ int ieee80211_wep_init(struct ieee80211_ 
    164  void ieee80211_wep_free(struct ieee80211_local *local) 
    165  { 
    166         if (!IS_ERR(local->wep_tx_tfm)) 
    167 -               crypto_free_blkcipher(local->wep_tx_tfm); 
    168 +               crypto_free_cipher(local->wep_tx_tfm); 
    169         if (!IS_ERR(local->wep_rx_tfm)) 
    170 -               crypto_free_blkcipher(local->wep_rx_tfm); 
    171 +               crypto_free_cipher(local->wep_rx_tfm); 
    172  } 
    173   
    174  static inline bool ieee80211_wep_weak_iv(u32 iv, int keylen) 
    175 @@ -127,12 +125,11 @@ static void ieee80211_wep_remove_iv(stru 
    176  /* Perform WEP encryption using given key. data buffer must have tailroom 
    177   * for 4-byte ICV. data_len must not include this ICV. Note: this function 
    178   * does _not_ add IV. data = RC4(data | CRC32(data)) */ 
    179 -int ieee80211_wep_encrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key, 
    180 +int ieee80211_wep_encrypt_data(struct crypto_cipher *tfm, u8 *rc4key, 
    181                                size_t klen, u8 *data, size_t data_len) 
    182  { 
    183 -       struct blkcipher_desc desc = { .tfm = tfm }; 
    184 -       struct scatterlist sg; 
    185         __le32 icv; 
    186 +       int i; 
    187   
    188         if (IS_ERR(tfm)) 
    189                 return -1; 
    190 @@ -140,9 +137,9 @@ int ieee80211_wep_encrypt_data(struct cr 
    191         icv = cpu_to_le32(~crc32_le(~0, data, data_len)); 
    192         put_unaligned(icv, (__le32 *)(data + data_len)); 
    193   
    194 -       crypto_blkcipher_setkey(tfm, rc4key, klen); 
    195 -       sg_init_one(&sg, data, data_len + WEP_ICV_LEN); 
    196 -       crypto_blkcipher_encrypt(&desc, &sg, &sg, sg.length); 
    197 +       crypto_cipher_setkey(tfm, rc4key, klen); 
    198 +       for (i = 0; i < data_len + WEP_ICV_LEN; i++) 
    199 +               crypto_cipher_encrypt_one(tfm, data + i, data + i); 
    200   
    201         return 0; 
    202  } 
    203 @@ -186,19 +183,18 @@ int ieee80211_wep_encrypt(struct ieee802 
    204  /* Perform WEP decryption using given key. data buffer includes encrypted 
    205   * payload, including 4-byte ICV, but _not_ IV. data_len must not include ICV. 
    206   * Return 0 on success and -1 on ICV mismatch. */ 
    207 -int ieee80211_wep_decrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key, 
    208 +int ieee80211_wep_decrypt_data(struct crypto_cipher *tfm, u8 *rc4key, 
    209                                size_t klen, u8 *data, size_t data_len) 
    210  { 
    211 -       struct blkcipher_desc desc = { .tfm = tfm }; 
    212 -       struct scatterlist sg; 
    213         __le32 crc; 
    214 +       int i; 
    215   
    216         if (IS_ERR(tfm)) 
    217                 return -1; 
    218   
    219 -       crypto_blkcipher_setkey(tfm, rc4key, klen); 
    220 -       sg_init_one(&sg, data, data_len + WEP_ICV_LEN); 
    221 -       crypto_blkcipher_decrypt(&desc, &sg, &sg, sg.length); 
    222 +       crypto_cipher_setkey(tfm, rc4key, klen); 
    223 +       for (i = 0; i < data_len + WEP_ICV_LEN; i++) 
    224 +               crypto_cipher_decrypt_one(tfm, data + i, data + i); 
    225   
    226         crc = cpu_to_le32(~crc32_le(~0, data, data_len)); 
    227         if (memcmp(&crc, data + data_len, WEP_ICV_LEN) != 0) 
    228 --- a/net/mac80211/wep.h 
    229 +++ b/net/mac80211/wep.h 
    230 @@ -18,12 +18,12 @@ 
    231   
    232  int ieee80211_wep_init(struct ieee80211_local *local); 
    233  void ieee80211_wep_free(struct ieee80211_local *local); 
    234 -int ieee80211_wep_encrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key, 
    235 +int ieee80211_wep_encrypt_data(struct crypto_cipher *tfm, u8 *rc4key, 
    236                                 size_t klen, u8 *data, size_t data_len); 
    237  int ieee80211_wep_encrypt(struct ieee80211_local *local, 
    238                           struct sk_buff *skb, 
    239                           const u8 *key, int keylen, int keyidx); 
    240 -int ieee80211_wep_decrypt_data(struct crypto_blkcipher *tfm, u8 *rc4key, 
    241 +int ieee80211_wep_decrypt_data(struct crypto_cipher *tfm, u8 *rc4key, 
    242                                size_t klen, u8 *data, size_t data_len); 
    243  bool ieee80211_wep_is_weak_iv(struct sk_buff *skb, struct ieee80211_key *key); 
    244   
     309+       /* Enable access to the DMA observation bus */ 
     310+       REG_WRITE(ah, AR_MACMISC, 
     311+                 ((AR_MACMISC_DMA_OBS_LINE_8 << AR_MACMISC_DMA_OBS_S) | 
     312+                  (AR_MACMISC_MISC_OBS_BUS_1 << 
     313+                   AR_MACMISC_MISC_OBS_BUS_MSB_S))); 
     314+ 
     315        REG_WRITE(ah, AR_CR, AR_CR_RXD); 
     316  
     317        /* Wait for rx enable bit to go low */ 
     318        for (i = AH_RX_STOP_DMA_TIMEOUT / AH_TIME_QUANTUM; i != 0; i--) { 
     319                if ((REG_READ(ah, AR_CR) & AR_CR_RXE) == 0) 
     320                        break; 
     321+ 
     322+               if (!AR_SREV_9300_20_OR_LATER(ah)) { 
     323+                       mac_status = REG_READ(ah, AR_DMADBG_7) & 0x7f0; 
     324+                       if (mac_status == 0x1c0 && mac_status == last_mac_status) { 
     325+                               *reset = true; 
     326+                               break; 
     327+                       } 
     328+ 
     329+                       last_mac_status = mac_status; 
     330+               } 
     331+ 
     332                udelay(AH_TIME_QUANTUM); 
     333        } 
     334  
     335        if (i == 0) { 
     336                ath_err(common, 
     337-                       "DMA failed to stop in %d ms AR_CR=0x%08x AR_DIAG_SW=0x%08x\n", 
     338+                       "DMA failed to stop in %d ms AR_CR=0x%08x AR_DIAG_SW=0x%08x DMADBG_7=0x%08x\n", 
     339                        AH_RX_STOP_DMA_TIMEOUT / 1000, 
     340                        REG_READ(ah, AR_CR), 
     341-                       REG_READ(ah, AR_DIAG_SW)); 
     342+                       REG_READ(ah, AR_DIAG_SW), 
     343+                       REG_READ(ah, AR_DMADBG_7)); 
     344                return false; 
     345        } else { 
     346                return true; 
     347--- a/drivers/net/wireless/ath/ath9k/mac.h 
     348+++ b/drivers/net/wireless/ath/ath9k/mac.h 
     349@@ -695,7 +695,7 @@ bool ath9k_hw_setrxabort(struct ath_hw * 
     350 void ath9k_hw_putrxbuf(struct ath_hw *ah, u32 rxdp); 
     351 void ath9k_hw_startpcureceive(struct ath_hw *ah, bool is_scanning); 
     352 void ath9k_hw_abortpcurecv(struct ath_hw *ah); 
     353-bool ath9k_hw_stopdmarecv(struct ath_hw *ah); 
     354+bool ath9k_hw_stopdmarecv(struct ath_hw *ah, bool *reset); 
     355 int ath9k_hw_beaconq_setup(struct ath_hw *ah); 
     356  
     357 /* Interrupt Handling */ 
  • branches/backfire/package/mac80211/patches/403-ath9k-fix-invalid-mac-address-handling.patch

    r26370 r26536  
    99  
    1010 #include "hw.h" 
    11 @@ -442,8 +443,16 @@ static int ath9k_hw_init_macaddr(struct  
     11@@ -423,8 +424,16 @@ static int ath9k_hw_init_macaddr(struct  
    1212                common->macaddr[2 * i] = eeval >> 8; 
    1313                common->macaddr[2 * i + 1] = eeval & 0xff; 
  • branches/backfire/package/mac80211/patches/510-ath9k_intr_mitigation_tweak.patch

    r26370 r26536  
    11--- a/drivers/net/wireless/ath/ath9k/hw.c 
    22+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    3 @@ -1465,8 +1465,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
     3@@ -1437,8 +1437,8 @@ int ath9k_hw_reset(struct ath_hw *ah, st 
    44        REG_WRITE(ah, AR_OBS, 8); 
    55  
  • branches/backfire/package/mac80211/patches/511-ath9k_increase_bcbuf.patch

    r26535 r26536  
    11--- a/drivers/net/wireless/ath/ath9k/ath9k.h 
    22+++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
    3 @@ -369,7 +369,7 @@ struct ath_vif { 
     3@@ -361,7 +361,7 @@ struct ath_vif { 
    44  * number of beacon intervals, the game's up. 
    55  */ 
     
    1212--- a/drivers/net/wireless/ath/ath9k/hw.c 
    1313+++ b/drivers/net/wireless/ath/ath9k/hw.c 
    14 @@ -363,8 +363,8 @@ static void ath9k_hw_init_config(struct  
     14@@ -344,8 +344,8 @@ static void ath9k_hw_init_config(struct  
    1515 { 
    1616        int i; 
  • branches/backfire/package/mac80211/patches/520-mac80211_drv_tim_override.patch

    r26370 r26536  
    11--- a/include/net/mac80211.h 
    22+++ b/include/net/mac80211.h 
    3 @@ -2216,6 +2216,18 @@ static inline int ieee80211_sta_ps_trans 
     3@@ -2227,6 +2227,18 @@ static inline int ieee80211_sta_ps_trans 
    44 #define IEEE80211_TX_STATUS_HEADROOM   13 
    55  
     
    3232        } 
    3333  
    34 @@ -902,6 +903,7 @@ void ieee80211_sta_ps_deliver_wakeup(str 
     34@@ -893,6 +894,7 @@ void ieee80211_sta_ps_deliver_wakeup(str 
    3535        struct ieee80211_local *local = sdata->local; 
    3636        int sent, buffered; 
     
    4040                drv_sta_notify(local, sdata, STA_NOTIFY_AWAKE, &sta->sta); 
    4141  
    42 @@ -994,3 +996,12 @@ void ieee80211_sta_block_awake(struct ie 
     42@@ -985,3 +987,12 @@ void ieee80211_sta_block_awake(struct ie 
    4343                ieee80211_queue_work(hw, &sta->drv_unblock_wk); 
    4444 } 
  • branches/backfire/package/mac80211/patches/521-ath9k_fix_ap_ps_buffering.patch

    r26370 r26536  
    11--- a/drivers/net/wireless/ath/ath9k/ath9k.h 
    22+++ b/drivers/net/wireless/ath/ath9k/ath9k.h 
    3 @@ -202,6 +202,7 @@ struct ath_atx_ac { 
     3@@ -200,6 +200,7 @@ struct ath_atx_ac { 
    44        int sched; 
    55        struct list_head list; 
     
    99  
    1010 struct ath_frame_info { 
    11 @@ -259,6 +260,8 @@ struct ath_node { 
     11@@ -257,6 +258,8 @@ struct ath_node { 
    1212        struct ath_atx_ac ac[WME_NUM_AC]; 
    1313        u16 maxampdu; 
     
    1818  
    1919 #define AGGR_CLEANUP         BIT(1) 
    20 @@ -340,6 +343,9 @@ int ath_tx_aggr_start(struct ath_softc * 
     20@@ -338,6 +341,9 @@ int ath_tx_aggr_start(struct ath_softc * 
    2121 void ath_tx_aggr_stop(struct ath_softc *sc, struct ieee80211_sta *sta, u16 tid); 
    2222 void ath_tx_aggr_resume(struct ath_softc *sc, struct ieee80211_sta *sta, u16 tid); 
     
    3030--- a/drivers/net/wireless/ath/ath9k/main.c 
    3131+++ b/drivers/net/wireless/ath/ath9k/main.c 
    32 @@ -1795,6 +1795,27 @@ static int ath9k_sta_remove(struct ieee8 
     32@@ -1800,6 +1800,27 @@ static int ath9k_sta_remove(struct ieee8 
    3333        return 0; 
    3434 } 
     
    5858                         const struct ieee80211_tx_queue_params *params) 
    5959 { 
    60 @@ -2197,6 +2218,7 @@ struct ieee80211_ops ath9k_ops = { 
     60@@ -2206,6 +2227,7 @@ struct ieee80211_ops ath9k_ops = { 
    6161        .configure_filter   = ath9k_configure_filter, 
    6262        .sta_add            = ath9k_sta_add, 
     
    210210--- a/drivers/net/wireless/ath/ath9k/hw-ops.h 
    211211+++ b/drivers/net/wireless/ath/ath9k/hw-ops.h 
    212 @@ -128,6 +128,11 @@ static inline void ath9k_hw_set11n_virtu 
    213         ath9k_hw_ops(ah)->set11n_virtualmorefrag(ah, ds, vmf); 
     212@@ -122,6 +122,11 @@ static inline void ath9k_hw_set11n_burst 
     213        ath9k_hw_ops(ah)->set11n_burstduration(ah, ds, burstDuration); 
    214214 } 
    215215  
     
    224224--- a/drivers/net/wireless/ath/ath9k/hw.h 
    225225+++ b/drivers/net/wireless/ath/ath9k/hw.h 
    226 @@ -630,6 +630,7 @@ struct ath_hw_ops { 
     226@@ -626,6 +626,7 @@ struct ath_hw_ops { 
     227        void (*clr11n_aggr)(struct ath_hw *ah, void *ds); 
     228        void (*set11n_burstduration)(struct ath_hw *ah, void *ds, 
    227229                                     u32 burstDuration); 
    228         void (*set11n_virtualmorefrag)(struct ath_hw *ah, void *ds, 
    229                                        u32 vmf); 
    230230+       void (*set_clrdmask)(struct ath_hw *ah, void *ds, bool val); 
    231231 }; 
     
    259259                                          void *lastds, 
    260260                                          u32 durUpdateEn, u32 rtsctsRate, 
    261 @@ -460,4 +469,5 @@ void ar9002_hw_attach_mac_ops(struct ath 
     261@@ -448,4 +457,5 @@ void ar9002_hw_attach_mac_ops(struct ath 
     262        ops->set11n_aggr_last = ar9002_hw_set11n_aggr_last; 
    262263        ops->clr11n_aggr = ar9002_hw_clr11n_aggr; 
    263264        ops->set11n_burstduration = ar9002_hw_set11n_burstduration; 
    264         ops->set11n_virtualmorefrag = ar9002_hw_set11n_virtualmorefrag; 
    265265+       ops->set_clrdmask = ar9002_hw_set_clrdmask; 
    266266 } 
     
    292292                                          void *lastds, 
    293293                                          u32 durUpdateEn, u32 rtsctsRate, 
    294 @@ -522,6 +531,7 @@ void ar9003_hw_attach_mac_ops(struct ath 
     294@@ -510,6 +519,7 @@ void ar9003_hw_attach_mac_ops(struct ath 
     295        ops->set11n_aggr_last = ar9003_hw_set11n_aggr_last; 
    295296        ops->clr11n_aggr = ar9003_hw_clr11n_aggr; 
    296297        ops->set11n_burstduration = ar9003_hw_set11n_burstduration; 
    297         ops->set11n_virtualmorefrag = ar9003_hw_set11n_virtualmorefrag; 
    298298+       ops->set_clrdmask = ar9003_hw_set_clrdmask; 
    299299 } 
  • branches/backfire/package/mac80211/patches/540-ath9k_fix_reported_signal_strength.patch

    r26535 r26536  
    11--- a/drivers/net/wireless/ath/ath9k/recv.c 
    22+++ b/drivers/net/wireless/ath/ath9k/recv.c 
    3 @@ -957,6 +957,9 @@ static int ath9k_rx_skb_preprocess(struc 
     3@@ -956,6 +956,9 @@ static int ath9k_rx_skb_preprocess(struc 
    44                                   struct ieee80211_rx_status *rx_status, 
    55                                   bool *decrypt_error) 
     
    1111  
    1212        /* 
    13 @@ -977,7 +980,13 @@ static int ath9k_rx_skb_preprocess(struc 
     13@@ -976,7 +979,13 @@ static int ath9k_rx_skb_preprocess(struc 
    1414  
    1515        rx_status->band = hw->conf.channel->band; 
  • branches/backfire/package/mac80211/patches/600-rt2x00-disable-pci-code-if-CONFIG_PCI-not-defined.patch

    r25693 r26536  
    11--- a/drivers/net/wireless/rt2x00/rt2x00pci.c 
    22+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c 
    3 @@ -196,6 +196,7 @@ void rt2x00pci_uninitialize(struct rt2x0 
     3@@ -199,6 +199,7 @@ void rt2x00pci_uninitialize(struct rt2x0 
    44 } 
    55 EXPORT_SYMBOL_GPL(rt2x00pci_uninitialize); 
     
    99  * PCI driver handlers. 
    1010  */ 
    11 @@ -372,6 +373,7 @@ int rt2x00pci_resume(struct pci_dev *pci 
     11@@ -375,6 +376,7 @@ int rt2x00pci_resume(struct pci_dev *pci 
    1212 } 
    1313 EXPORT_SYMBOL_GPL(rt2x00pci_resume); 
  • branches/backfire/package/mac80211/patches/610-set_pci_mwi.patch

    r25693 r26536  
    11--- a/drivers/net/wireless/rt2x00/rt2x00pci.c 
    22+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c 
    3 @@ -261,8 +261,10 @@ int rt2x00pci_probe(struct pci_dev *pci_ 
     3@@ -264,8 +264,10 @@ int rt2x00pci_probe(struct pci_dev *pci_ 
    44  
    55        pci_set_master(pci_dev); 
Note: See TracChangeset for help on using the changeset viewer.