Re: [PATCH v2 0/2] mwifiex: Work around firmware bugs on 88W8897 chip

From: Brian Norris
Date: Mon Sep 27 2021 - 16:30:23 EST


On Tue, Sep 14, 2021 at 4:48 AM Jonas Dreßler <verdre@xxxxxxx> wrote:
>
> This is the second revision of the patch, the first one is here:
> https://lore.kernel.org/linux-wireless/20210830123704.221494-1-verdre@xxxxxxx/
>
> Changes between v1 and v2:
> - Only read-back the register write to the TX ring write pointer, not all writes
> - Mention firmware version in commit message+code comment for future reference
> - Use -EIO return value in second patch
> - Use definitions for waiting intervals in second patch

I tested this version, and it doesn't have the same issues v1 had
(regarding long-blocking reads, causing audio dropouts, etc.), so:

Tested-by: Brian Norris <briannorris@xxxxxxxxxxxx>

As suggested elsewhere, this polling loop approach is a little slower
than just waiting for an interrupt instead (and that proves out; the
wakeup latency seems to increase by ~1 "short" polling interval; so
about half a millisecond). It seems like that could be optimized if
needed, because you *are* still waiting for an interrupt anyway. But I
haven't tried benchmarking anything that would really matter for this;
when we're already waiting 6+ ms, another 0.5ms isn't the end of the
world.

This doesn't really count as Reviewed-by. There are probably better
improvements to the poling loop (e.g., Andy's existing suggestions);
and frankly, I'd rather see if the dropped writes can be fixed
somehow. But I'm not holding my breath for the latter, and don't have
any good suggestions. So if this is the best we can do, so be it.

Regards,
Brian