Search Linux Wireless

Re: [PATCH] ath9k_hw: fix BT sleep state on chip wakeup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 24, 2012 at 1:34 AM, Rajkumar Manoharan
<rmanohar@xxxxxxxxxxxxxxxx> wrote:
> Whenever both WLAN and BT in/out sleep mode, sometimes WLAN
> is not able to take back the shared LNA control after resumes
> from sleep mode. The idea is that for WLAN to check if BT owns
> LNA control and BT is in sleep mode when WLAN just resumes from
> sleep mode. If the condition is true, do a BTCOEX_RC_WARM_RESET
> for WLAN to take back the control of shared LNA.
> Now the issue is the BT sleep value read from MCI register is
> overlooked by assigning u32 into u8. Hence the above condition never
> be met so that WLAN used to report beacon losses and frequent
> connection drops.
>
> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx>
Tested-by: Paul Stewart <pstew@xxxxxxxxxxxx>
> ---
>  drivers/net/wireless/ath/ath9k/ar9003_mci.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath9k/ar9003_mci.c b/drivers/net/wireless/ath/ath9k/ar9003_mci.c
> index cab2384..d3fae36 100644
> --- a/drivers/net/wireless/ath/ath9k/ar9003_mci.c
> +++ b/drivers/net/wireless/ath/ath9k/ar9003_mci.c
> @@ -1410,7 +1410,7 @@ void ar9003_mci_set_power_awake(struct ath_hw *ah)
>         }
>         REG_WRITE(ah, AR_DIAG_SW, (diag_sw | BIT(27) | BIT(19) | BIT(18)));
>         lna_ctrl = REG_READ(ah, AR_OBS_BUS_CTRL) & 0x3;
> -       bt_sleep = REG_READ(ah, AR_MCI_RX_STATUS) & AR_MCI_RX_REMOTE_SLEEP;
> +       bt_sleep = MS(REG_READ(ah, AR_MCI_RX_STATUS), AR_MCI_RX_REMOTE_SLEEP);
>
>         REG_WRITE(ah, AR_BTCOEX_CTRL2, btcoex_ctrl2);
>         REG_WRITE(ah, AR_DIAG_SW, diag_sw);
> --
> 1.7.12.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux