mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-01-27 14:11:06 +02:00
upgrade mac80211 to 2008-08-20 and clean up some unnecessary patching to config.mk, which frequently causes rejects on new versions
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17326 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
23910e915a
commit
23674ee048
@ -17,12 +17,12 @@ ifneq ($(CONFIG_LINUX_2_6_21)$(CONFIG_LINUX_2_6_25),)
|
|||||||
PKG_MD5SUM:=9563ceeed86bca0859ad5f010623277c
|
PKG_MD5SUM:=9563ceeed86bca0859ad5f010623277c
|
||||||
PATCH_DIR:=./patches-old
|
PATCH_DIR:=./patches-old
|
||||||
else
|
else
|
||||||
PKG_VERSION:=2009-08-15
|
PKG_VERSION:=2009-08-20
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=1
|
||||||
PKG_SOURCE_URL:= \
|
PKG_SOURCE_URL:= \
|
||||||
http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/08 \
|
http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/08 \
|
||||||
http://wireless.kernel.org/download/compat-wireless-2.6
|
http://wireless.kernel.org/download/compat-wireless-2.6
|
||||||
PKG_MD5SUM:=bc71c2b8554bb79511e9a38dd6d5b318
|
PKG_MD5SUM:=0b3919adf847a59478cc4fb58e1cb6ec
|
||||||
endif
|
endif
|
||||||
|
|
||||||
PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
|
PKG_SOURCE:=compat-wireless-$(PKG_VERSION).tar.bz2
|
||||||
@ -438,44 +438,67 @@ MAKE_OPTS:= \
|
|||||||
ARCH="$(LINUX_KARCH)" \
|
ARCH="$(LINUX_KARCH)" \
|
||||||
EXTRA_CFLAGS="$(BUILDFLAGS)" \
|
EXTRA_CFLAGS="$(BUILDFLAGS)" \
|
||||||
$(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
|
$(foreach opt,$(CONFOPTS),CONFIG_$(opt)=m) \
|
||||||
CONFIG_NL80211=y \
|
|
||||||
CONFIG_MAC80211_RC_PID=y \
|
CONFIG_MAC80211_RC_PID=y \
|
||||||
CONFIG_MAC80211_RC_MINSTREL=y \
|
CONFIG_MAC80211_RC_MINSTREL=y \
|
||||||
CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
|
CONFIG_MAC80211_LEDS=$(CONFIG_LEDS_TRIGGERS) \
|
||||||
CONFIG_MAC80211_DEBUGFS=$(CONFIG_DEBUG_FS) \
|
CONFIG_MAC80211_DEBUGFS=$(CONFIG_DEBUG_FS) \
|
||||||
CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
|
CONFIG_B43_PCMCIA=n CONFIG_B43_PIO=n \
|
||||||
$(if $(CONFIG_PCI),CONFIG_B43_PCI_AUTOSELECT=y,CONFIG_B43_PCI_AUTOSELECT=n) \
|
CONFIG_B43_PCI_AUTOSELECT=$(if $(CONFIG_PCI),y) \
|
||||||
$(if $(CONFIG_PCI),CONFIG_B43_PCICORE_AUTOSELECT=y,CONFIG_B43_PCICORE_AUTOSELECT=n) \
|
CONFIG_B43_PCICORE_AUTOSELECT=$(if $(CONFIG_PCI),y) \
|
||||||
$(if $(CONFIG_PCI),CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y,CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=n) \
|
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=$(if $(CONFIG_PCI),y) \
|
||||||
$(if $(CONFIG_PCI),CONFIG_SSB_DRIVER_PCICORE=y,CONFIG_SSB_DRIVER_PCICORE=n) \
|
CONFIG_SSB_DRIVER_PCICORE=$(if $(CONFIG_PCI),y) \
|
||||||
$(if $(CONFIG_PCI),CONFIG_SSB_PCIHOST_POSSIBLE=y,CONFIG_SSB_PCIHOST_POSSIBLE=n) \
|
CONFIG_SSB_PCIHOST_POSSIBLE=$(if $(CONFIG_PCI),y) \
|
||||||
$(if $(CONFIG_PCI),CONFIG_SSB_PCIHOST=y,CONFIG_SSB_PCIHOST=n) \
|
CONFIG_SSB_PCIHOST=$(if $(CONFIG_PCI),y) \
|
||||||
CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
|
CONFIG_B43LEGACY_LEDS=$(CONFIG_LEDS_TRIGGERS) \
|
||||||
CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
|
CONFIG_B43_LEDS=$(CONFIG_LEDS_TRIGGERS) \
|
||||||
$(if $(CONFIG_HW_RANDOM),CONFIG_B43_HWRNG=y,CONFIG_B43_HWRNG=n) \
|
CONFIG_B43_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
|
||||||
$(if $(CONFIG_HW_RANDOM),CONFIG_B43LEGACY_HWRNG=y,CONFIG_B43LEGACY_HWRNG=n) \
|
CONFIG_B43LEGACY_HWRNG=$(if $(CONFIG_HW_RANDOM),y) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-b43),CONFIG_B43=m) \
|
CONFIG_B43=$(if $(CONFIG_PACKAGE_kmod-b43),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-b43legacy),CONFIG_B43LEGACY=m) \
|
CONFIG_B43LEGACY=$(if $(CONFIG_PACKAGE_kmod-b43legacy),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-ath),CONFIG_ATH_COMMON=m) \
|
CONFIG_ATH_COMMON=$(if $(CONFIG_PACKAGE_kmod-ath),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-ath5k),CONFIG_ATH5K=m) \
|
CONFIG_ATH5K=$(if $(CONFIG_PACKAGE_kmod-ath5k),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-ath9k),CONFIG_ATH9K=m) \
|
CONFIG_ATH9K=$(if $(CONFIG_PACKAGE_kmod-ath9k),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-zd1211rw),CONFIG_ZD1211RW=m) \
|
CONFIG_ZD1211RW=$(if $(CONFIG_PACKAGE_kmod-zd1211rw),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-p54-common),CONFIG_P54_COMMON=m) \
|
CONFIG_P54_COMMON=$(if $(CONFIG_PACKAGE_kmod-p54-common),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-p54-pci),CONFIG_P54_PCI=m) \
|
CONFIG_P54_PCI=$(if $(CONFIG_PACKAGE_kmod-p54-pci),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-p54-usb),CONFIG_P54_USB=m) \
|
CONFIG_P54_USB=$(if $(CONFIG_PACKAGE_kmod-p54-usb),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),CONFIG_RT2X00=m) \
|
CONFIG_RT2X00=$(if $(CONFIG_PACKAGE_kmod-rt2x00-lib),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),CONFIG_RT2X00_LIB_PCI=m) \
|
CONFIG_RT2X00_LIB_PCI=$(if $(CONFIG_PACKAGE_kmod-rt2x00-pci),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),CONFIG_RT2X00_LIB_USB=m) \
|
CONFIG_RT2X00_LIB_USB=$(if $(CONFIG_PACKAGE_kmod-rt2x00-usb),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),CONFIG_RT2400PCI=m) \
|
CONFIG_RT2X00_LIB_RFKILL= \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),CONFIG_RT2500PCI=m) \
|
CONFIG_RT2400PCI=$(if $(CONFIG_PACKAGE_kmod-rt2400-pci),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),CONFIG_RT2500USB=m) \
|
CONFIG_RT2500PCI=$(if $(CONFIG_PACKAGE_kmod-rt2500-pci),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rt61-pci),CONFIG_RT61PCI=m) \
|
CONFIG_RT2500USB=$(if $(CONFIG_PACKAGE_kmod-rt2500-usb),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rt73-usb),CONFIG_RT73USB=m) \
|
CONFIG_RT61PCI=$(if $(CONFIG_PACKAGE_kmod-rt61-pci),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),CONFIG_RT2800PCI=m) \
|
CONFIG_RT73USB=$(if $(CONFIG_PACKAGE_kmod-rt73-usb),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),CONFIG_RT2800USB=m) \
|
CONFIG_RT2800PCI=$(if $(CONFIG_PACKAGE_kmod-rt2800-pci),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rtl8180),CONFIG_RTL8180=m) \
|
CONFIG_RT2800USB=$(if $(CONFIG_PACKAGE_kmod-rt2800-usb),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-rtl8187),CONFIG_RTL8187=m) \
|
CONFIG_RTL8180=$(if $(CONFIG_PACKAGE_kmod-rtl8180),m) \
|
||||||
$(if $(CONFIG_PACKAGE_kmod-mac80211-hwsim),CONFIG_MAC80211_HWSIM=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)" \
|
KLIB_BUILD="$(LINUX_DIR)" \
|
||||||
MODPROBE=:
|
MODPROBE=:
|
||||||
|
|
||||||
|
@ -1,396 +0,0 @@
|
|||||||
--- 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
|
|
||||||
|
|
@ -1,108 +0,0 @@
|
|||||||
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)))
|
|
@ -1,6 +1,6 @@
|
|||||||
--- a/drivers/net/wireless/ath/ath9k/main.c
|
--- a/drivers/net/wireless/ath/ath9k/main.c
|
||||||
+++ b/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)
|
static void ath_deinit_leds(struct ath_softc *sc)
|
||||||
{
|
{
|
||||||
@ -10,13 +10,13 @@
|
|||||||
ath_unregister_led(&sc->assoc_led);
|
ath_unregister_led(&sc->assoc_led);
|
||||||
sc->sc_flags &= ~SC_OP_LED_ASSOCIATED;
|
sc->sc_flags &= ~SC_OP_LED_ASSOCIATED;
|
||||||
ath_unregister_led(&sc->tx_led);
|
ath_unregister_led(&sc->tx_led);
|
||||||
@@ -1070,6 +1073,9 @@ static void ath_init_leds(struct ath_sof
|
@@ -1072,6 +1075,9 @@ static void ath_init_leds(struct ath_sof
|
||||||
char *trigger;
|
else
|
||||||
int ret;
|
sc->sc_ah->led_pin = ATH_LED_PIN_DEF;
|
||||||
|
|
||||||
+ if (AR_SREV_9100(sc->sc_ah))
|
+ if (AR_SREV_9100(sc->sc_ah))
|
||||||
+ return;
|
+ return;
|
||||||
+
|
+
|
||||||
/* Configure gpio 1 for output */
|
/* 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);
|
AR_GPIO_OUTPUT_MUX_AS_OUTPUT);
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
--- 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
|
|
@ -1,6 +1,6 @@
|
|||||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||||
+++ b/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] = eeval >> 8;
|
||||||
ah->macaddr[2 * i + 1] = eeval & 0xff;
|
ah->macaddr[2 * i + 1] = eeval & 0xff;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user