PKG_MD5SUM:=9563ceeed86bca0859ad5f010623277c
PATCH_DIR:=./patches-old
else
- PKG_VERSION:=2009-08-15
- PKG_RELEASE:=3
+ PKG_VERSION:=2009-08-20
+ PKG_RELEASE:=1
PKG_SOURCE_URL:= \
http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/08 \
http://wireless.kernel.org/download/compat-wireless-2.6
- PKG_MD5SUM:=bc71c2b8554bb79511e9a38dd6d5b318
+ PKG_MD5SUM:=0b3919adf847a59478cc4fb58e1cb6ec
endif
PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
ARCH="$(LINUX_KARCH)" \
EXTRA_CFLAGS="$(BUILDFLAGS)" \
$(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
- CONFIG_NL80211=y \
CONFIG_MAC80211_RC_PID=y \
CONFIG_MAC80211_RC_MINSTREL=y \
CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
CONFIG_MAC80211_DEBUGFS=$(CONFIG_DEBUG_FS) \
CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
- $(if $(CONFIG_PCI),CONFIG_B43_PCI_AUTOSELECT=y,CONFIG_B43_PCI_AUTOSELECT=n) \
- $(if $(CONFIG_PCI),CONFIG_B43_PCICORE_AUTOSELECT=y,CONFIG_B43_PCICORE_AUTOSELECT=n) \
- $(if $(CONFIG_PCI),CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y,CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=n) \
- $(if $(CONFIG_PCI),CONFIG_SSB_DRIVER_PCICORE=y,CONFIG_SSB_DRIVER_PCICORE=n) \
- $(if $(CONFIG_PCI),CONFIG_SSB_PCIHOST_POSSIBLE=y,CONFIG_SSB_PCIHOST_POSSIBLE=n) \
- $(if $(CONFIG_PCI),CONFIG_SSB_PCIHOST=y,CONFIG_SSB_PCIHOST=n) \
+ CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
+ CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
+ CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=$(if $(CONFIG_PCI),y) \
+ CONFIG_SSB_DRIVER_PCICORE=$(if $(CONFIG_PCI),y) \
+ CONFIG_SSB_PCIHOST_POSSIBLE=$(if $(CONFIG_PCI),y) \
+ CONFIG_SSB_PCIHOST=$(if $(CONFIG_PCI),y) \
CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
- $(if $(CONFIG_HW_RANDOM),CONFIG_B43_HWRNG=y,CONFIG_B43_HWRNG=n) \
- $(if $(CONFIG_HW_RANDOM),CONFIG_B43LEGACY_HWRNG=y,CONFIG_B43LEGACY_HWRNG=n) \
- $(if $(CONFIG_PACKAGE_kmod-b43),CONFIG_B43=m) \
- $(if $(CONFIG_PACKAGE_kmod-b43legacy),CONFIG_B43LEGACY=m) \
- $(if $(CONFIG_PACKAGE_kmod-ath),CONFIG_ATH_COMMON=m) \
- $(if $(CONFIG_PACKAGE_kmod-ath5k),CONFIG_ATH5K=m) \
- $(if $(CONFIG_PACKAGE_kmod-ath9k),CONFIG_ATH9K=m) \
- $(if $(CONFIG_PACKAGE_kmod-zd1211rw),CONFIG_ZD1211RW=m) \
- $(if $(CONFIG_PACKAGE_kmod-p54-common),CONFIG_P54_COMMON=m) \
- $(if $(CONFIG_PACKAGE_kmod-p54-pci),CONFIG_P54_PCI=m) \
- $(if $(CONFIG_PACKAGE_kmod-p54-usb),CONFIG_P54_USB=m) \
- $(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),CONFIG_RT2X00=m) \
- $(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),CONFIG_RT2X00_LIB_PCI=m) \
- $(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),CONFIG_RT2X00_LIB_USB=m) \
- $(if $(CONFIG_PACKAGE_kmod-rt2400-pci),CONFIG_RT2400PCI=m) \
- $(if $(CONFIG_PACKAGE_kmod-rt2500-pci),CONFIG_RT2500PCI=m) \
- $(if $(CONFIG_PACKAGE_kmod-rt2500-usb),CONFIG_RT2500USB=m) \
- $(if $(CONFIG_PACKAGE_kmod-rt61-pci),CONFIG_RT61PCI=m) \
- $(if $(CONFIG_PACKAGE_kmod-rt73-usb),CONFIG_RT73USB=m) \
- $(if $(CONFIG_PACKAGE_kmod-rt2800-pci),CONFIG_RT2800PCI=m) \
- $(if $(CONFIG_PACKAGE_kmod-rt2800-usb),CONFIG_RT2800USB=m) \
- $(if $(CONFIG_PACKAGE_kmod-rtl8180),CONFIG_RTL8180=m) \
- $(if $(CONFIG_PACKAGE_kmod-rtl8187),CONFIG_RTL8187=m) \
- $(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),CONFIG_MAC80211_HWSIM=m) \
+ CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
+ CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
+ CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
+ CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
+ CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
+ CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
+ CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
+ CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
+ CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
+ CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
+ CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
+ CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
+ CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
+ CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
+ CONFIG_RT2X00_LIB_RFKILL= \
+ CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
+ CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
+ CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
+ CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
+ CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
+ CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
+ CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
+ CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
+ CONFIG_RTL8187=$(if $(CONFIG_PACKAGE_kmod-rtl8187),m) \
+ CONFIG_MAC80211_HWSIM=$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),m) \
+ CONFIG_LIBIPW= \
+ CONFIG_LIBERTAS= \
+ CONFIG_LIBERTAS_CS= \
+ CONFIG_LIBERTAS_SDIO= \
+ CONFIG_IPW2100= \
+ CONFIG_IPW2200= \
+ CONFIG_NL80211=y \
+ CONFIG_LIB80211= \
+ CONFIG_IWLWIFI= \
+ CONFIG_IWLAGN= \
+ CONFIG_MWL8K= \
+ CONFIG_ATMEL= \
+ CONFIG_PCMCIA_ATMEL= \
+ CONFIG_ADM8211= \
+ CONFIG_USB_NET_RNDIS_HOST= \
+ CONFIG_USB_NET_RNDIS_WLAN= \
+ CONFIG_AT76C50X_USB= \
+ CONFIG_RFKILL_BACKPORT= \
+ CONFIG_RFKILL_BACKPORT_LEDS= \
+ CONFIG_RFKILL_BACKPORT_INPUT= \
+ CONFIG_WL12XX= \
+ CONFIG_EEPROM_93CX6= \
+ CONFIG_AR9170_USB= \
KLIB_BUILD="$(LINUX_DIR)" \
MODPROBE=:
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -153,77 +153,77 @@ CONFIG_CFG80211_DEFAULT_PS=y
- CONFIG_CFG80211_DEFAULT_PS_VALUE=1
- # CONFIG_CFG80211_REG_DEBUG=y
-
--CONFIG_LIB80211=m
--CONFIG_LIB80211_CRYPT_WEP=m
--CONFIG_LIB80211_CRYPT_CCMP=m
--CONFIG_LIB80211_CRYPT_TKIP=m
-+# CONFIG_LIB80211=m
-+# CONFIG_LIB80211_CRYPT_WEP=m
-+# CONFIG_LIB80211_CRYPT_CCMP=m
-+# CONFIG_LIB80211_CRYPT_TKIP=m
- # CONFIG_LIB80211_DEBUG=y
-
- CONFIG_WIRELESS_OLD_REGULATORY=n
-
- # mac80211 test driver
--CONFIG_MAC80211_HWSIM=m
-+# CONFIG_MAC80211_HWSIM=m
-
- # PCI Drivers
- ifneq ($(CONFIG_PCI),)
-
--CONFIG_ATH5K=m
-+# CONFIG_ATH5K=m
- # CONFIG_ATH5K_DEBUG=y
--CONFIG_ATH5K_RFKILL=y
--CONFIG_ATH9K=m
-+# CONFIG_ATH5K_RFKILL=y
-+# CONFIG_ATH9K=m
- # CONFIG_ATH9K_DEBUG=y
-
-
--CONFIG_IWLWIFI=m
--CONFIG_IWLWIFI_LEDS=y
--CONFIG_IWLWIFI_RFKILL=y
--CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT=y
-+# CONFIG_IWLWIFI=m
-+# CONFIG_IWLWIFI_LEDS=y
-+# CONFIG_IWLWIFI_RFKILL=y
-+# CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT=y
- # CONFIG_IWLWIFI_DEBUG=y
- # CONFIG_IWLWIFI_DEBUGFS=y
--CONFIG_IWLAGN=m
--CONFIG_COMPAT_IWL4965=y
--CONFIG_IWL5000=y
--CONFIG_IWL3945=m
--CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
-+# CONFIG_IWLAGN=m
-+# CONFIG_COMPAT_IWL4965=y
-+# CONFIG_IWL5000=y
-+# CONFIG_IWL3945=m
-+# CONFIG_IWL3945_SPECTRUM_MEASUREMENT=y
-
-
--CONFIG_B43=m
--CONFIG_B43_HWRNG=y
--CONFIG_B43_PCI_AUTOSELECT=y
--CONFIG_B43_PCICORE_AUTOSELECT=y
--CONFIG_B43_PCMCIA=y
--CONFIG_B43_PIO=y
--CONFIG_B43_LEDS=y
--CONFIG_B43_RFKILL=y
-+# CONFIG_B43=m
-+# CONFIG_B43_HWRNG=y
-+# CONFIG_B43_PCI_AUTOSELECT=y
-+# CONFIG_B43_PCICORE_AUTOSELECT=y
-+# CONFIG_B43_PCMCIA=y
-+# CONFIG_B43_PIO=y
-+# CONFIG_B43_LEDS=y
-+# CONFIG_B43_RFKILL=y
- # CONFIG_B43_DEBUG=y
- # CONFIG_B43_FORCE_PIO=y
-
--CONFIG_B43LEGACY=m
--CONFIG_B43LEGACY_HWRNG=y
--CONFIG_B43LEGACY_PCI_AUTOSELECT=y
--CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
--CONFIG_B43LEGACY_LEDS=y
--CONFIG_B43LEGACY_RFKILL=y
-+# CONFIG_B43LEGACY=m
-+# CONFIG_B43LEGACY_HWRNG=y
-+# CONFIG_B43LEGACY_PCI_AUTOSELECT=y
-+# CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
-+# CONFIG_B43LEGACY_LEDS=y
-+# CONFIG_B43LEGACY_RFKILL=y
- # CONFIG_B43LEGACY_DEBUG=y
- CONFIG_B43LEGACY_DMA=y
--CONFIG_B43LEGACY_PIO=y
--CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
--# CONFIG_B43LEGACY_DMA_MODE=y
-+# CONFIG_B43LEGACY_PIO=y
-+# CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
-+CONFIG_B43LEGACY_DMA_MODE=y
- # CONFIG_B43LEGACY_PIO_MODE=y
-
- # The Intel ipws
--CONFIG_LIBIPW=m
-+# CONFIG_LIBIPW=m
- # CONFIG_LIBIPW_DEBUG=y
-
-
--CONFIG_IPW2100=m
--CONFIG_IPW2100_MONITOR=y
-+# CONFIG_IPW2100=m
-+# CONFIG_IPW2100_MONITOR=y
- # CONFIG_IPW2100_DEBUG=y
--CONFIG_IPW2200=m
--CONFIG_IPW2200_MONITOR=y
--CONFIG_IPW2200_RADIOTAP=y
--CONFIG_IPW2200_PROMISCUOUS=y
--CONFIG_IPW2200_QOS=y
-+# CONFIG_IPW2200=m
-+# CONFIG_IPW2200_MONITOR=y
-+# CONFIG_IPW2200_RADIOTAP=y
-+# CONFIG_IPW2200_PROMISCUOUS=y
-+# CONFIG_IPW2200_QOS=y
- # CONFIG_IPW2200_DEBUG=y
- # The above enables use a second interface prefixed 'rtap'.
- # Example usage:
-@@ -238,46 +238,46 @@ CONFIG_IPW2200_QOS=y
- #
- # % echo 1 > /sys/bus/pci/drivers/ipw2200/*/rtap_iface
-
--CONFIG_SSB_BLOCKIO=y
--CONFIG_SSB_PCIHOST_POSSIBLE=y
--CONFIG_SSB_PCIHOST=y
--CONFIG_SSB_B43_PCI_BRIDGE=y
--CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
--CONFIG_SSB_PCMCIAHOST=y
-+# CONFIG_SSB_BLOCKIO=y
-+# CONFIG_SSB_PCIHOST_POSSIBLE=y
-+# CONFIG_SSB_PCIHOST=y
-+# CONFIG_SSB_B43_PCI_BRIDGE=y
-+# CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
-+# CONFIG_SSB_PCMCIAHOST=y
- # CONFIG_SSB_DEBUG=y
--CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
--CONFIG_SSB_DRIVER_PCICORE=y
-+# CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-+# CONFIG_SSB_DRIVER_PCICORE=y
-
--CONFIG_P54_PCI=m
-+# CONFIG_P54_PCI=m
-
--CONFIG_B44=m
--CONFIG_B44_PCI_AUTOSELECT=y
--CONFIG_B44_PCICORE_AUTOSELECT=y
--CONFIG_B44_PCI=y
-+# CONFIG_B44=m
-+# CONFIG_B44_PCI_AUTOSELECT=y
-+# CONFIG_B44_PCICORE_AUTOSELECT=y
-+# CONFIG_B44_PCI=y
-
--CONFIG_RTL8180=m
-+# CONFIG_RTL8180=m
-
--CONFIG_ADM8211=m
--CONFIG_PCMCIA_ATMEL=m
-+# CONFIG_ADM8211=m
-+# CONFIG_PCMCIA_ATMEL=m
-
--CONFIG_RT2X00_LIB_PCI=m
--CONFIG_RT2400PCI=m
--CONFIG_RT2500PCI=m
--CONFIG_RT2800PCI=m
-+# CONFIG_RT2X00_LIB_PCI=m
-+# CONFIG_RT2400PCI=m
-+# CONFIG_RT2500PCI=m
-+# CONFIG_RT2800PCI=m
- NEED_RT2X00=y
-
- # Two rt2x00 drivers require firmware: rt61pci and rt73usb. They depend on
- # CRC to check the firmware. We check here first for the PCI
- # driver as we're in the PCI section.
- ifneq ($(CONFIG_CRC_ITU_T),)
--CONFIG_RT61PCI=m
-+# CONFIG_RT61PCI=m
- NEED_RT2X00_FIRMWARE=y
- endif
-
--CONFIG_ATMEL=m
--CONFIG_PCI_ATMEL=m
-+# CONFIG_ATMEL=m
-+# CONFIG_PCI_ATMEL=m
-
--CONFIG_MWL8K=m
-+# CONFIG_MWL8K=m
-
- endif
- ## end of PCI
-@@ -285,22 +285,22 @@ endif
- ifneq ($(CONFIG_PCMCIA),)
-
- ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
--CONFIG_LIBERTAS=n
--CONFIG_LIBERTAS_CS=n
-+# CONFIG_LIBERTAS=n
-+# CONFIG_LIBERTAS_CS=n
- else
--CONFIG_LIBERTAS_CS=m
--NEED_LIBERTAS=y
-+# CONFIG_LIBERTAS_CS=m
-+# NEED_LIBERTAS=y
- endif
-
- endif
- ## end of PCMCIA
-
- # This is required for some cards
--CONFIG_EEPROM_93CX6=m
-+# CONFIG_EEPROM_93CX6=m
-
- # USB Drivers
- ifneq ($(CONFIG_USB),)
--CONFIG_ZD1211RW=m
-+# CONFIG_ZD1211RW=m
- # CONFIG_ZD1211RW_DEBUG=y
-
- # Sorry, rndis_wlan uses cancel_work_sync which is new and can't be done in compat...
-@@ -310,55 +310,55 @@ CONFIG_ZD1211RW=m
- # is only wireless RNDIS chip known to date.
- # Note: this depends on CONFIG_USB_NET_RNDIS_HOST and CONFIG_USB_NET_CDCETHER
- # it also requires new RNDIS_HOST and CDC_ETHER modules which we add
--CONFIG_USB_NET_RNDIS_HOST=m
--CONFIG_USB_NET_RNDIS_WLAN=m
--CONFIG_USB_NET_CDCETHER=m
-+# CONFIG_USB_NET_RNDIS_HOST=m
-+# CONFIG_USB_NET_RNDIS_WLAN=m
-+# CONFIG_USB_NET_CDCETHER=m
-
-
--CONFIG_P54_USB=m
--CONFIG_RTL8187=m
-+# CONFIG_P54_USB=m
-+# CONFIG_RTL8187=m
-
--CONFIG_AT76C50X_USB=m
-+# CONFIG_AT76C50X_USB=m
-
- ifeq ($(shell test $(KERNEL_SUBLEVEL) -ge 28 && echo yes),yes)
--CONFIG_AR9170_USB=m
--CONFIG_AR9170_LEDS=y
-+# CONFIG_AR9170_USB=m
-+# CONFIG_AR9170_LEDS=y
- endif
-
- # RT2500USB does not require firmware
--CONFIG_RT2500USB=m
--CONFIG_RT2800USB=m
--CONFIG_RT2X00_LIB_USB=m
-+# CONFIG_RT2500USB=m
-+# CONFIG_RT2800USB=m
-+# CONFIG_RT2X00_LIB_USB=m
- NEED_RT2X00=y
- # RT73USB requires firmware
- ifneq ($(CONFIG_CRC_ITU_T),)
--CONFIG_RT73USB=m
-+# CONFIG_RT73USB=m
- NEED_RT2X00_FIRMWARE=y
- endif
-
- ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
--CONFIG_LIBERTAS_THINFIRM_USB=n
--CONFIG_LIBERTAS_USB=n
--NEED_LIBERTAS=n
-+# CONFIG_LIBERTAS_THINFIRM_USB=n
-+# CONFIG_LIBERTAS_USB=n
-+# NEED_LIBERTAS=n
- else
--CONFIG_LIBERTAS_THINFIRM_USB=m
--CONFIG_LIBERTAS_USB=m
--NEED_LIBERTAS=y
-+# CONFIG_LIBERTAS_THINFIRM_USB=m
-+# CONFIG_LIBERTAS_USB=m
-+# NEED_LIBERTAS=y
- endif
-
- endif # end of USB driver list
-
- ifneq ($(CONFIG_SPI_MASTER),)
-
--CONFIG_WL1251=m
--CONFIG_P54_SPI=m
-+# CONFIG_WL1251=m
-+# CONFIG_P54_SPI=m
-
- ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
--CONFIG_LIBERTAS_SPI=n
--NEED_LIBERTAS=n
-+# CONFIG_LIBERTAS_SPI=n
-+# NEED_LIBERTAS=n
- else
--CONFIG_LIBERTAS_SPI=m
--NEED_LIBERTAS=y
-+# CONFIG_LIBERTAS_SPI=m
-+# NEED_LIBERTAS=y
- endif
-
- endif # end of SPI driver list
-@@ -366,17 +366,17 @@ endif # end of SPI driver list
- ifneq ($(CONFIG_MMC),)
-
- ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
--CONFIG_LIBERTAS_SDIO=n
--NEED_LIBERTAS=n
-+# CONFIG_LIBERTAS_SDIO=n
-+# NEED_LIBERTAS=n
- else
--CONFIG_LIBERTAS_SDIO=m
--NEED_LIBERTAS=y
-+# CONFIG_LIBERTAS_SDIO=m
-+# NEED_LIBERTAS=y
- endif
-
- # Activate iwmc3200wifi support only on kernel >= 2.6.29.
- # iwmc3200wifi uses new netdev_ops api no supported by old kernel.
- ifeq ($(shell test $(KERNEL_SUBLEVEL) -ge 29 && echo yes),yes)
--CONFIG_IWM=m
-+# CONFIG_IWM=m
- # CONFIG_IWM_DEBUG=y
- endif
-
-@@ -384,12 +384,12 @@ endif # end of SDIO driver list
-
- # Common rt2x00 requirements
- ifeq ($(NEED_RT2X00),y)
--CONFIG_RT2X00=m
-+# CONFIG_RT2X00=m
- CONFIG_RT2X00_LIB=m
- CONFIG_RT2X00_LIB_HT=y
- CONFIG_RT2X00_LIB_FIRMWARE=y
- CONFIG_RT2X00_LIB_CRYPTO=y
--CONFIG_RT2X00_LIB_RFKILL=y
-+# CONFIG_RT2X00_LIB_RFKILL=y
- CONFIG_RT2X00_LIB_LEDS=y
- # CONFIG_RT2X00_LIB_DEBUGFS=y
- # CONFIG_RT2X00_DEBUG=y
-@@ -400,30 +400,30 @@ CONFIG_RT2X00_LIB_FIRMWARE=y
- endif
-
- # p54
--CONFIG_P54_COMMON=m
-+# CONFIG_P54_COMMON=m
- CONFIG_P54_LEDS=y
-
- # Atheros
--CONFIG_ATH_COMMON=m
-+# CONFIG_ATH_COMMON=m
-
--CONFIG_WL12XX=y
--CONFIG_WL1251=m
--CONFIG_WL1251_SPI=m
--CONFIG_WL1251_SDIO=m
--CONFIG_WL1271=m
-+# CONFIG_WL12XX=y
-+# CONFIG_WL1251=m
-+# CONFIG_WL1251_SPI=m
-+# CONFIG_WL1251_SDIO=m
-+# CONFIG_WL1271=m
-
- # Sonics Silicon Backplane
--CONFIG_SSB_POSSIBLE=y
--CONFIG_SSB=m
--CONFIG_SSB_SPROM=y
-+# CONFIG_SSB_POSSIBLE=y
-+# CONFIG_SSB=m
-+# CONFIG_SSB_SPROM=y
- # CONFIG_SSB_DEBUG=y
-
- ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 26 && echo yes),yes)
--CONFIG_LIBERTAS=n
-+# CONFIG_LIBERTAS=n
- else
- ifeq ($(NEED_LIBERTAS),y)
--CONFIG_LIBERTAS_THINFIRM=m
--CONFIG_LIBERTAS=m
-+# CONFIG_LIBERTAS_THINFIRM=m
-+# CONFIG_LIBERTAS=m
- # CONFIG_LIBERTAS_DEBUG=y
- endif
- endif
-@@ -431,8 +431,8 @@ endif
- # We need the backported rfkill module on kernel < 2.6.31.
- # In more recent kernel versions use the in kernel rfkill module.
- ifeq ($(shell test $(KERNEL_SUBLEVEL) -le 30 && echo yes),yes)
--CONFIG_RFKILL_BACKPORT=m
--CONFIG_RFKILL_BACKPORT_LEDS=y
--CONFIG_RFKILL_BACKPORT_INPUT=y
-+# CONFIG_RFKILL_BACKPORT=m
-+# CONFIG_RFKILL_BACKPORT_LEDS=y
-+# CONFIG_RFKILL_BACKPORT_INPUT=y
- endif
-
+++ /dev/null
-Subject: [PATCH] cfg80211: fix deadlock
-From: Johannes Berg <johannes@sipsolutions.net>
-To: John Linville <linville@tuxdriver.com>
-Cc: linux-wireless <linux-wireless@vger.kernel.org>,
- Christian Lamparter <chunkeey@web.de>
-Content-Type: text/plain
-Date: Sun, 16 Aug 2009 13:32:38 +0200
-Message-Id: <1250422358.17522.0.camel@johannes.local>
-Mime-Version: 1.0
-X-Mailer: Evolution 2.27.90
-Content-Transfer-Encoding: 7bit
-Sender: linux-wireless-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-wireless.vger.kernel.org>
-X-Mailing-List: linux-wireless@vger.kernel.org
-
-When removing an interface with nl80211, cfg80211 will
-deadlock in the netdev notifier because we're already
-holding rdev->mtx and try to acquire it again to verify
-the scan has been done.
-
-This bug was introduced by my patch
-"cfg80211: check for and abort dangling scan requests".
-
-To fix this, move the dangling scan request check into
-wiphy_unregister(). This will not be able to catch all
-cases right away, but if the scan problem happens with
-a manual ifdown or so it will be possible to remedy it
-by removing the module/device.
-
-Additionally, add comments about the deadlock scenario.
-
-Reported-by: Christian Lamparter <chunkeey@web.de>
-Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
----
- net/wireless/core.c | 32 +++++++++++++++++++-------------
- 1 file changed, 19 insertions(+), 13 deletions(-)
-
---- a/net/wireless/core.c
-+++ b/net/wireless/core.c
-@@ -586,9 +586,15 @@ void wiphy_unregister(struct wiphy *wiph
- * get to lock contention here if userspace issues a command
- * that identified the hardware by wiphy index.
- */
-- mutex_lock(&rdev->mtx);
-- /* unlock again before freeing */
-- mutex_unlock(&rdev->mtx);
-+ cfg80211_lock_rdev(rdev);
-+
-+ if (WARN_ON(rdev->scan_req)) {
-+ rdev->scan_req->aborted = true;
-+ ___cfg80211_scan_done(rdev);
-+ }
-+
-+ cfg80211_unlock_rdev(rdev);
-+ flush_work(&rdev->scan_done_wk);
-
- cfg80211_debugfs_rdev_del(rdev);
-
-@@ -603,9 +609,7 @@ void wiphy_unregister(struct wiphy *wiph
-
- mutex_unlock(&cfg80211_mutex);
-
-- flush_work(&rdev->scan_done_wk);
- cancel_work_sync(&rdev->conn_work);
-- kfree(rdev->scan_req);
- flush_work(&rdev->event_work);
- }
- EXPORT_SYMBOL(wiphy_unregister);
-@@ -653,6 +657,11 @@ static int cfg80211_netdev_notifier_call
-
- switch (state) {
- case NETDEV_REGISTER:
-+ /*
-+ * NB: cannot take rdev->mtx here because this may be
-+ * called within code protected by it when interfaces
-+ * are added with nl80211.
-+ */
- mutex_init(&wdev->mtx);
- INIT_LIST_HEAD(&wdev->event_list);
- spin_lock_init(&wdev->event_lock);
-@@ -730,13 +739,11 @@ static int cfg80211_netdev_notifier_call
- #endif
- break;
- case NETDEV_UNREGISTER:
-- cfg80211_lock_rdev(rdev);
--
-- if (WARN_ON(rdev->scan_req && rdev->scan_req->dev == dev)) {
-- rdev->scan_req->aborted = true;
-- ___cfg80211_scan_done(rdev);
-- }
--
-+ /*
-+ * NB: cannot take rdev->mtx here because this may be
-+ * called within code protected by it when interfaces
-+ * are removed with nl80211.
-+ */
- mutex_lock(&rdev->devlist_mtx);
- /*
- * It is possible to get NETDEV_UNREGISTER
-@@ -755,7 +762,6 @@ static int cfg80211_netdev_notifier_call
- #endif
- }
- mutex_unlock(&rdev->devlist_mtx);
-- cfg80211_unlock_rdev(rdev);
- break;
- case NETDEV_PRE_UP:
- if (!(wdev->wiphy->interface_modes & BIT(wdev->iftype)))
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1057,6 +1057,9 @@ static void ath_unregister_led(struct at
+@@ -1054,6 +1054,9 @@ static void ath_unregister_led(struct at
static void ath_deinit_leds(struct ath_softc *sc)
{
ath_unregister_led(&sc->assoc_led);
sc->sc_flags &= ~SC_OP_LED_ASSOCIATED;
ath_unregister_led(&sc->tx_led);
-@@ -1070,6 +1073,9 @@ static void ath_init_leds(struct ath_sof
- char *trigger;
- int ret;
+@@ -1072,6 +1075,9 @@ static void ath_init_leds(struct ath_sof
+ else
+ sc->sc_ah->led_pin = ATH_LED_PIN_DEF;
+ if (AR_SREV_9100(sc->sc_ah))
+ return;
+
/* Configure gpio 1 for output */
- ath9k_hw_cfg_output(sc->sc_ah, ATH_LED_PIN,
+ ath9k_hw_cfg_output(sc->sc_ah, sc->sc_ah->led_pin,
AR_GPIO_OUTPUT_MUX_AS_OUTPUT);
+++ /dev/null
---- a/config.mk
-+++ b/config.mk
-@@ -156,7 +156,7 @@ ifneq ($(CONFIG_PCI),)
- # CONFIG_ATH5K_DEBUG=y
- # CONFIG_ATH5K_RFKILL=y
- # CONFIG_ATH9K=m
--# CONFIG_ATH9K_DEBUG=y
-+CONFIG_ATH9K_DEBUG=y
-
-
- # CONFIG_IWLWIFI=m
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -521,8 +521,18 @@ static int ath9k_hw_init_macaddr(struct
+@@ -524,8 +524,18 @@ static int ath9k_hw_init_macaddr(struct
ah->macaddr[2 * i] = eeval >> 8;
ah->macaddr[2 * i + 1] = eeval & 0xff;
}