ath9k: fix some issues in the btcoex disable patch

SVN-Revision: 29564
This commit is contained in:
Felix Fietkau 2011-12-18 22:17:34 +00:00
parent 5a0a2b2f1b
commit dd90113508

View file

@ -29,11 +29,9 @@
}; };
struct ath9k_hw_capabilities { struct ath9k_hw_capabilities {
--- a/drivers/net/wireless/ath/ath9k/btcoex.h @@ -1229,6 +1233,16 @@ void ar9003_mci_sync_bt_state(struct ath
+++ b/drivers/net/wireless/ath/ath9k/btcoex.h void ar9003_mci_get_interrupt(struct ath_hw *ah, u32 *raw_intr,
@@ -98,6 +98,16 @@ struct ath_btcoex_hw { u32 *rx_msg_intr);
u32 wlan_weight[AR9300_NUM_WLAN_WEIGHTS];
};
+#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT +#ifdef CONFIG_ATH9K_BTCOEX_SUPPORT
+static inline enum ath_btcoex_scheme +static inline enum ath_btcoex_scheme
@ -45,9 +43,9 @@
+#define ath9k_hw_get_btcoex_scheme(...) ATH_BTCOEX_CFG_NONE +#define ath9k_hw_get_btcoex_scheme(...) ATH_BTCOEX_CFG_NONE
+#endif +#endif
+ +
void ath9k_hw_btcoex_init_2wire(struct ath_hw *ah); #define ATH9K_CLOCK_RATE_CCK 22
void ath9k_hw_btcoex_init_3wire(struct ath_hw *ah); #define ATH9K_CLOCK_RATE_5GHZ_OFDM 40
void ath9k_hw_init_btcoex_hw(struct ath_hw *ah, int qnum); #define ATH9K_CLOCK_RATE_2GHZ_OFDM 44
--- a/drivers/net/wireless/ath/ath9k/init.c --- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c +++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -411,7 +411,7 @@ static int ath9k_init_btcoex(struct ath_ @@ -411,7 +411,7 @@ static int ath9k_init_btcoex(struct ath_
@ -221,7 +219,7 @@
{ {
struct ath_btcoex *btcoex = &priv->btcoex; struct ath_btcoex *btcoex = &priv->btcoex;
+ if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_NONE) + if (ath9k_hw_get_btcoex_scheme(priv->ah) == ATH_BTCOEX_CFG_NONE)
+ return; + return;
+ +
btcoex->btcoex_period = ATH_BTCOEX_DEF_BT_PERIOD; btcoex->btcoex_period = ATH_BTCOEX_DEF_BT_PERIOD;
@ -241,7 +239,7 @@
*/ */
void ath_htc_cancel_btcoex_work(struct ath9k_htc_priv *priv) void ath_htc_cancel_btcoex_work(struct ath9k_htc_priv *priv)
{ {
+ if (ath9k_hw_get_btcoex_scheme(ah) == ATH_BTCOEX_CFG_NONE) + if (ath9k_hw_get_btcoex_scheme(priv->ah) == ATH_BTCOEX_CFG_NONE)
+ return; + return;
+ +
cancel_delayed_work_sync(&priv->coex_period_work); cancel_delayed_work_sync(&priv->coex_period_work);