Messages in this thread | | | Subject | Re: mwifiex: pcie: implement timeout loop for FW programming doorbell | From | Kalle Valo <> | Date | Tue, 29 Nov 2016 15:28:56 +0000 (UTC) |
| |
Brian Norris <briannorris@chromium.org> wrote: > Marvell Wifi PCIe modules don't always behave nicely for PCIe power > management when their firmware hasn't been loaded, particularly after > suspending the PCIe link one or more times. When this happens, we might > end up spinning forever in this status-polling tight loop. Let's make > this less tight by adding a timeout and by sleeping a bit in between > reads, as we do with the other similar loops. > > This prevents us from hogging a CPU even in such pathological cases, and > allows the FW initialization to just fail gracefully instead. > > I chose the same polling parameters as the earlier loop in this > function, and empirically, I found that this loop never makes it more > than about 12 cycles in a sane FW init sequence. I had no official > information on the actual intended latency for this portion of the > download. > > Signed-off-by: Brian Norris <briannorris@chromium.org> > Acked-by: Amitkumar Karwar <akarwar@marvell.com>
Patch applied to wireless-drivers-next.git, thanks.
22dde1ed5a48 mwifiex: pcie: implement timeout loop for FW programming doorbell
-- https://patchwork.kernel.org/patch/9442499/
Documentation about submitting wireless patches and checking status from patchwork:
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
| |