2012-07-03 15:18:13

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: [RFC] ath9k: Fix MCI cleanup

From: Mohammed Shafi Shajakhan <[email protected]>

We are doing MCI cleanup eventhough BTCOEX is not enabled
via module parameter. This means we do ath_mci_cleanup
though we skipped calling ath_mci_setup. Yet it does not
causes any issues now as we free the DMA buffer allocated
only when it is allocated during ath_mci_setup.

Signed-off-by: Mohammed Shafi Shajakhan <[email protected]>
---
drivers/net/wireless/ath/ath9k/gpio.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/gpio.c b/drivers/net/wireless/ath/ath9k/gpio.c
index 5eac4d1..43557c2 100644
--- a/drivers/net/wireless/ath/ath9k/gpio.c
+++ b/drivers/net/wireless/ath/ath9k/gpio.c
@@ -387,11 +387,13 @@ void ath9k_stop_btcoex(struct ath_softc *sc)

void ath9k_deinit_btcoex(struct ath_softc *sc)
{
+ struct ath_hw *ah = sc->sc_ah;
+
if ((sc->btcoex.no_stomp_timer) &&
ath9k_hw_get_btcoex_scheme(sc->sc_ah) == ATH_BTCOEX_CFG_3WIRE)
ath_gen_timer_free(sc->sc_ah, sc->btcoex.no_stomp_timer);

- if (AR_SREV_9462(sc->sc_ah))
+ if (ath9k_hw_mci_is_enabled(ah))
ath_mci_cleanup(sc);
}

--
1.7.0.4



2012-07-03 15:26:29

by Mohammed Shafi Shajakhan

[permalink] [raw]
Subject: Re: [RFC] ath9k: Fix MCI cleanup

On Tuesday 03 July 2012 08:47 PM, Mohammed Shafi Shajakhan wrote:
> From: Mohammed Shafi Shajakhan<[email protected]>
>
> We are doing MCI cleanup eventhough BTCOEX is not enabled
> via module parameter. This means we do ath_mci_cleanup
> though we skipped calling ath_mci_setup. Yet it does not
> causes any issues now as we free the DMA buffer allocated
> only when it is allocated during ath_mci_setup.
>
> Signed-off-by: Mohammed Shafi Shajakhan<[email protected]>
> ---
> drivers/net/wireless/ath/ath9k/gpio.c | 4 +++-
> 1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/gpio.c b/drivers/net/wireless/ath/ath9k/gpio.c
> index 5eac4d1..43557c2 100644
> --- a/drivers/net/wireless/ath/ath9k/gpio.c
> +++ b/drivers/net/wireless/ath/ath9k/gpio.c
> @@ -387,11 +387,13 @@ void ath9k_stop_btcoex(struct ath_softc *sc)
>
> void ath9k_deinit_btcoex(struct ath_softc *sc)
> {
> + struct ath_hw *ah = sc->sc_ah;
> +
> if ((sc->btcoex.no_stomp_timer)&&
> ath9k_hw_get_btcoex_scheme(sc->sc_ah) == ATH_BTCOEX_CFG_3WIRE)
> ath_gen_timer_free(sc->sc_ah, sc->btcoex.no_stomp_timer);
>
> - if (AR_SREV_9462(sc->sc_ah))
> + if (ath9k_hw_mci_is_enabled(ah))
> ath_mci_cleanup(sc);
> }
>

also we unnecessarily call ar9003_mci_cleanup.

--
thanks,
shafi