mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-24 06:38:27 +02:00
mac80211: update ath9k patch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18563 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
08ca9f93c2
commit
9ece9bb899
@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
|
||||
PKG_NAME:=mac80211
|
||||
|
||||
PKG_VERSION:=2009-11-21
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
PKG_SOURCE_URL:= \
|
||||
http://www.orbit-lab.org/kernel/compat-wireless-2.6/2009/11 \
|
||||
http://wireless.kernel.org/download/compat-wireless-2.6
|
||||
|
@ -1,3 +1,59 @@
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -979,7 +979,10 @@ int ath9k_hw_init(struct ath_hw *ah)
|
||||
return r;
|
||||
|
||||
ath9k_hw_init_mode_gain_regs(ah);
|
||||
- ath9k_hw_fill_cap_info(ah);
|
||||
+ r = ath9k_hw_fill_cap_info(ah);
|
||||
+ if (r)
|
||||
+ return r;
|
||||
+
|
||||
ath9k_hw_init_11a_eeprom_fix(ah);
|
||||
|
||||
r = ath9k_hw_init_macaddr(ah);
|
||||
@@ -3115,7 +3118,7 @@ EXPORT_SYMBOL(ath9k_hw_set_sta_beacon_ti
|
||||
/* HW Capabilities */
|
||||
/*******************/
|
||||
|
||||
-void ath9k_hw_fill_cap_info(struct ath_hw *ah)
|
||||
+int ath9k_hw_fill_cap_info(struct ath_hw *ah)
|
||||
{
|
||||
struct ath9k_hw_capabilities *pCap = &ah->caps;
|
||||
struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah);
|
||||
@@ -3146,6 +3149,12 @@ void ath9k_hw_fill_cap_info(struct ath_h
|
||||
}
|
||||
|
||||
eeval = ah->eep_ops->get_eeprom(ah, EEP_OP_MODE);
|
||||
+ if ((eeval & (AR5416_OPFLAGS_11G | AR5416_OPFLAGS_11A)) == 0) {
|
||||
+ ath_print(common, ATH_DBG_FATAL,
|
||||
+ "no band has been marked as supported in EEPROM.\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
bitmap_zero(pCap->wireless_modes, ATH9K_MODE_MAX);
|
||||
|
||||
if (eeval & AR5416_OPFLAGS_11A) {
|
||||
@@ -3305,6 +3314,8 @@ void ath9k_hw_fill_cap_info(struct ath_h
|
||||
} else {
|
||||
btcoex_hw->scheme = ATH_BTCOEX_CFG_NONE;
|
||||
}
|
||||
+
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.h
|
||||
@@ -619,7 +619,7 @@ void ath9k_hw_detach(struct ath_hw *ah);
|
||||
int ath9k_hw_init(struct ath_hw *ah);
|
||||
int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
|
||||
bool bChannelChange);
|
||||
-void ath9k_hw_fill_cap_info(struct ath_hw *ah);
|
||||
+int ath9k_hw_fill_cap_info(struct ath_hw *ah);
|
||||
bool ath9k_hw_getcapability(struct ath_hw *ah, enum ath9k_capability_type type,
|
||||
u32 capability, u32 *result);
|
||||
bool ath9k_hw_setcapability(struct ath_hw *ah, enum ath9k_capability_type type,
|
||||
--- a/drivers/net/wireless/ath/ath9k/main.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/main.c
|
||||
@@ -1805,13 +1805,15 @@ static int ath_init_softc(u16 devid, str
|
||||
|
Loading…
Reference in New Issue
Block a user