diff --git a/package/hostapd/Makefile b/package/hostapd/Makefile
index eccb158abf1a67474a7b2db07844e6a5fc515373..fcea01710efa5e4bcf1d1a6a7f2c6829192eb83e 100644
--- a/package/hostapd/Makefile
+++ b/package/hostapd/Makefile
@@ -9,18 +9,31 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=hostapd
-PKG_VERSION:=0.6.6
+PKG_VERSION:=0.6.7
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://hostap.epitest.fi/releases/
 PKG_SOURCE_SUBDIR:=hostapd-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_MD5SUM:=cba36847d38c753731afefe1460f5f90
+PKG_MD5SUM:=0ce66cd5768235b5d2299f9efb9225d8
 PKG_BUILD_DEPENDS:=PACKAGE_kmod-madwifi:madwifi PACKAGE_kmod-mac80211:mac80211 PACKAGE_kmod-mac80211:libnl
 
 include $(INCLUDE_DIR)/package.mk
-STAMP_CONFIGURED:=$(STAMP_CONFIGURED)_$(call confvar,CONFIG_PACKAGE_kmod-mac80211 CONFIG_PACKAGE_kmod-madwifi CONFIG_PACKAGE_hostapd CONFIG_PACKAGE_hostapd-mini)
+
+PKG_CONFDEPS := \
+	CONFIG_PACKAGE_kmod-ath9k \
+	CONFIG_PACKAGE_kmod-mac80211 \
+	CONFIG_PACKAGE_kmod-madwifi \
+	CONFIG_PACKAGE_hostapd \
+	CONFIG_PACKAGE_hostapd-mini
+
+STAMP_CONFIGURED:=$(STAMP_CONFIGURED)_$(call confvar,$(PKG_CONFDEPS))
+
+DRIVER_MAKEOPTS= \
+	CONFIG_DRIVER_NL80211=$(CONFIG_PACKAGE_kmod-mac80211) \
+	CONFIG_DRIVER_MADWIFI=$(CONFIG_PACKAGE_kmod-madwifi) \
+	CONFIG_IEEE80211N=$(CONFIG_PACKAGE_kmod-ath9k)
 
 define Package/hostapd/Default
   SECTION:=net
@@ -78,14 +91,13 @@ define Build/ConfigureTarget
 		$(PKG_BUILD_DIR)/src \
 		$(PKG_BUILD_DIR)/hostapd.$(1)/
 	$(CP) ./files/$(1).config $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd/.config
-	$(if $(CONFIG_PACKAGE_kmod-mac80211),,$(SED) 's,^CONFIG_DRIVER_NL80211,#CONFIG_DRIVER_NL80211,g' $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd/.config)
-	$(if $(CONFIG_PACKAGE_kmod-madwifi),,$(SED) 's,^CONFIG_DRIVER_MADWIFI,#CONFIG_DRIVER_MADWIFI,g' $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd/.config)
 endef
 
 define Build/CompileTarget
 	CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/madwifi -I$(STAGING_DIR)/usr/include/mac80211 -I$(STAGING_DIR)/usr/include/libnl -I$(STAGING_DIR)/usr/include" \
 	$(MAKE) -C $(PKG_BUILD_DIR)/hostapd.$(1)/hostapd \
 		$(TARGET_CONFIGURE_OPTS) \
+		$(DRIVER_MAKEOPTS) \
 		LIBS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib \
 			$(if $(CONFIG_PACKAGE_kmod-mac80211),-lm $(STAGING_DIR)/usr/lib/libnl.a) \
 			$(if $(findstring default,$(1)),-lssl -lcrypto)" \
diff --git a/package/hostapd/files/default.config b/package/hostapd/files/default.config
index 7e7555f71e381a8d767f6169d304a9fd02130179..2414bd352080780d7d29a99accaa24a8ba9f2cd9 100644
--- a/package/hostapd/files/default.config
+++ b/package/hostapd/files/default.config
@@ -128,3 +128,6 @@ CONFIG_IPV6=y
 # IEEE 802.11r. This draft is still subject to change, so it should be noted
 # that this version may not comply with the final standard.
 #CONFIG_IEEE80211R=y
+
+# IEEE 802.11n (High Throughput) support
+CONFIG_IEEE80211N=y
diff --git a/package/hostapd/files/mini.config b/package/hostapd/files/mini.config
index 0d13b1ed458473a3beadcd407bc69b5dacc1fc56..e50fb3ce70d8bbae5c3ff9b7125bf5b4412a7012 100644
--- a/package/hostapd/files/mini.config
+++ b/package/hostapd/files/mini.config
@@ -128,3 +128,6 @@ CONFIG_PEERKEY=y
 # IEEE 802.11r. This draft is still subject to change, so it should be noted
 # that this version may not comply with the final standard.
 #CONFIG_IEEE80211R=y
+
+# IEEE 802.11n (High Throughput) support
+CONFIG_IEEE80211N=y
diff --git a/package/hostapd/patches/100-madwifi_fix.patch b/package/hostapd/patches/100-madwifi_fix.patch
index 3798398c5080bf2b4620c1ca5597339f55a5642b..47ce89dd5681b20db990c953bbd4a9519ffda03f 100644
--- a/package/hostapd/patches/100-madwifi_fix.patch
+++ b/package/hostapd/patches/100-madwifi_fix.patch
@@ -1,6 +1,6 @@
 --- a/hostapd/driver_madwifi.c
 +++ b/hostapd/driver_madwifi.c
-@@ -299,6 +299,7 @@ madwifi_set_iface_flags(void *priv, int 
+@@ -310,6 +310,7 @@ madwifi_set_iface_flags(void *priv, int 
  {
  	struct madwifi_driver_data *drv = priv;
  	struct ifreq ifr;
@@ -8,7 +8,7 @@
  
  	wpa_printf(MSG_DEBUG, "%s: dev_up=%d", __func__, dev_up);
  
-@@ -313,10 +314,14 @@ madwifi_set_iface_flags(void *priv, int 
+@@ -324,10 +325,14 @@ madwifi_set_iface_flags(void *priv, int 
  		return -1;
  	}