All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Fietkau <nbd@openwrt.org>
To: Rajkumar Manoharan <rmanoharan@atheros.com>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"linville@tuxdriver.com" <linville@tuxdriver.com>,
	Luis Rodriguez <Luis.Rodriguez@Atheros.com>
Subject: Re: [PATCH 2.6.39] ath9k: fix missing ath9k_ps_wakeup/ath9k_ps_restore calls
Date: Thu, 07 Apr 2011 21:26:39 +0200	[thread overview]
Message-ID: <4D9E0FEF.5000408@openwrt.org> (raw)
In-Reply-To: <20110407191603.GA6387@vmraj-lnx.users.atheros.com>

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@openwrt.org>
>>  Cc: stable@kernel.org
>>  ---
>>   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

      reply	other threads:[~2011-04-07 19:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-07 17:07 [PATCH 2.6.39] ath9k: fix missing ath9k_ps_wakeup/ath9k_ps_restore calls Felix Fietkau
2011-04-07 19:16 ` Rajkumar Manoharan
2011-04-07 19:26   ` Felix Fietkau [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D9E0FEF.5000408@openwrt.org \
    --to=nbd@openwrt.org \
    --cc=Luis.Rodriguez@Atheros.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=rmanoharan@atheros.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.