Subject: [PATCH] ath9k: Fix basic connectivity issue

This patch temporarily fixes a regression introduced by BT coexistence support.
There is an instability in connection when BT coexistence is enabled on some h/w.
This interim fix introduces a module parameter for BT coexistence configuration.

Signed-off-by: Vasanthakumar Thiagarajan <[email protected]>
---
drivers/net/wireless/ath9k/hw.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath9k/hw.c
index cbd408f..6800e5c 100644
--- a/drivers/net/wireless/ath9k/hw.c
+++ b/drivers/net/wireless/ath9k/hw.c
@@ -23,6 +23,10 @@
#include "phy.h"
#include "initvals.h"

+static int btcoex_enable;
+module_param(btcoex_enable, bool, 0);
+MODULE_PARM_DESC(btcoex_enable, "Enable Bluetooth coexistence support");
+
#define ATH9K_CLOCK_RATE_CCK 22
#define ATH9K_CLOCK_RATE_5GHZ_OFDM 40
#define ATH9K_CLOCK_RATE_2GHZ_OFDM 44
@@ -3359,7 +3363,7 @@ bool ath9k_hw_fill_cap_info(struct ath_hal *ah)
pCap->num_antcfg_2ghz =
ath9k_hw_get_num_ant_config(ah, ATH9K_HAL_FREQ_BAND_2GHZ);

- if (AR_SREV_9280_10_OR_LATER(ah)) {
+ if (AR_SREV_9280_10_OR_LATER(ah) && btcoex_enable) {
pCap->hw_caps |= ATH9K_HW_CAP_BT_COEX;
ah->ah_btactive_gpio = 6;
ah->ah_wlanactive_gpio = 5;
--
1.5.5.1



2009-01-10 12:06:25

by Kalle Valo

[permalink] [raw]
Subject: Re: [PATCH] ath9k: Fix basic connectivity issue

Vasanthakumar Thiagarajan <[email protected]> writes:

> This patch temporarily fixes a regression introduced by BT
> coexistence support. There is an instability in connection when BT
> coexistence is enabled on some h/w. This interim fix introduces a
> module parameter for BT coexistence configuration.
>

[...]

> +static int btcoex_enable;
> +module_param(btcoex_enable, bool, 0);
> +MODULE_PARM_DESC(btcoex_enable, "Enable Bluetooth coexistence support");

Somehow I guessed that this was coming :) I still think that a proper
nl80211 interface for this is in order.

--
Kalle Valo

Subject: Re: [PATCH] ath9k: Fix basic connectivity issue

> > +static int btcoex_enable;
> > +module_param(btcoex_enable, bool, 0);
> > +MODULE_PARM_DESC(btcoex_enable, "Enable Bluetooth coexistence support");
>
> Somehow I guessed that this was coming :) I still think that a proper
> nl80211 interface for this is in order.

I agree that there should be a proper nl80211 interface for BT coex
configuration. It is just an interim solution for the regression.

Vasanth