Search Linux Wireless

Re: [PATCH 2.6.39] ath9k: fix missing ath9k_ps_wakeup/ath9k_ps_restore calls

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

 



On 2011-04-07 9:16 PM, Rajkumar Manoharan wrote:
On Thu, Apr 07, 2011 at 10:37:17PM +0530, Felix Fietkau wrote:
 These missing chip wakeups mainly cause crashes on AR5416 cards in MIPS
 boards, but have also been reported to cause radio stability issues on
 AR9285.

 Signed-off-by: Felix Fietkau<nbd@xxxxxxxxxxx>
 Cc: stable@xxxxxxxxxx
 ---
  drivers/net/wireless/ath/ath9k/main.c |   12 ++++++++++--
  1 files changed, 10 insertions(+), 2 deletions(-)

 diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
 index 6a41302..802a910 100644
 --- a/drivers/net/wireless/ath/ath9k/main.c
 +++ b/drivers/net/wireless/ath/ath9k/main.c
 @@ -1376,7 +1376,6 @@ static void ath9k_calculate_summary_state(struct ieee80211_hw *hw,

  	ath9k_calculate_iter_data(hw, vif,&iter_data);

 -	ath9k_ps_wakeup(sc);
  	/* Set BSSID mask. */
  	memcpy(common->bssidmask, iter_data.mask, ETH_ALEN);
  	ath_hw_setbssidmask(common);
 @@ -1411,7 +1410,6 @@ static void ath9k_calculate_summary_state(struct ieee80211_hw *hw,
  	}

  	ath9k_hw_set_interrupts(ah, ah->imask);
 -	ath9k_ps_restore(sc);

It seems to be the existing ps calls in ath9k_calculate_summary_state() are enough
to awake chip before doing hw access. Why the ps calls are unneccesarilly moved
to mac callbacks? If chip is not waken up, it should be noticed in x86 too.
isn't it?
I moved them because those callbacks do other things that seem like they might require hw wakeups as well. I preferred to stay on the safe side here, because often missing wakeups are not noticed on all hardware. On some hardware it may simply crash seconds after the original issue occured, sometimes it just corrupts some internal state.

The crash issues that this patch fixes were also not easy to reproduce, it often took many interface add/delete and up/down calls to even trigger this on AR5416, whereas AR9160 and AR9220 seemed unaffected.

- Felix
--
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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux