public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
From: Felix Fietkau <nbd@nbd.name>
To: Simon Wunderlich <sw@simonwunderlich.de>
Cc: linux-wireless@vger.kernel.org, kvalo@codeaurora.org
Subject: Re: [PATCH 3/4] ath9k: check for deaf rx path state
Date: Thu, 26 Jan 2017 11:26:03 +0100	[thread overview]
Message-ID: <8306f20d-ca2a-60fd-b0d9-5155f3bbd094@nbd.name> (raw)
In-Reply-To: <2448336.mzt5URIzpg@prime>

On 2017-01-26 11:15, Simon Wunderlich wrote:
> Hey,
> 
> On Thursday, January 26, 2017 11:02:53 AM CET Felix Fietkau wrote:
>> On 2017-01-26 10:50, Simon Wunderlich wrote:
>> > Hey Felix,
>> > 
>> > On Wednesday, January 25, 2017 5:36:53 PM CET Felix Fietkau wrote:
>> >> Various chips occasionally run into a state where the tx path still
>> >> appears to be working normally, but the rx path is deaf.
>> >> 
>> >> There is no known register signature to check for this state explicitly,
>> >> so use the lack of rx interrupts as an indicator.
>> >> 
>> >> This detection is prone to false positives, since a device could also
>> >> simply be in an environment where there are no frames on the air.
>> >> However, in this case doing a reset should be harmless since it's
>> >> obviously not interrupting any real activity. To avoid confusion, call
>> >> the reset counters in this case "Rx path inactive" instead of something
>> >> like "Rx path deaf", since it may not be an indication of a real
>> >> hardware failure.
>> >> 
>> >> Signed-off-by: Felix Fietkau <nbd@nbd.name>
>> > 
>> > As we observed in the field, it may happen that there are still RX
>> > interrupts triggered, but just a very low number - in which case I
>> > believe your version wouldn't fix the problem. Therefore we had a
>> > threshold in our original patch [1].
>> 
>> It seems that you were seeing something different than what I was seeing
>> in my tests. Though it could be that my issues were actually caused by
>> something else. I had queued up these changes a while back before I
>> finally found and fixed the IRQ issue.
> 
> What we found a good threshold was to check for less than 1 RX interrupt per 
> second, and check the mean average (about) every 30 seconds. If there is any 
> other AP or a station connected, it will not reset the chip, and also there 
> will be no reset on short outages.
But if there's less than 1 Rx interrupt per second, then my patch should
also trigger, right?

- Felix

  reply	other threads:[~2017-01-26 10:26 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-25 16:36 [PATCH 1/4] ath9k: rename tx_complete_work to hw_check_work Felix Fietkau
2017-01-25 16:36 ` [PATCH 2/4] ath9k_hw: check if the chip failed to wake up Felix Fietkau
2017-01-25 16:36 ` [PATCH 3/4] ath9k: check for deaf rx path state Felix Fietkau
2017-01-26  9:50   ` Simon Wunderlich
2017-01-26 10:02     ` Felix Fietkau
2017-01-26 10:15       ` Simon Wunderlich
2017-01-26 10:26         ` Felix Fietkau [this message]
2017-01-26 10:32           ` Simon Wunderlich
2017-01-25 16:36 ` [PATCH 4/4] ath9k: fix race condition in enabling/disabling IRQs Felix Fietkau
2017-01-27 12:47   ` Felix Fietkau
2017-02-02  9:10     ` Kalle Valo

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=8306f20d-ca2a-60fd-b0d9-5155f3bbd094@nbd.name \
    --to=nbd@nbd.name \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=sw@simonwunderlich.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox