Message ID | 20180827153407.5612-1-Larry.Finger@lwfinger.net (mailing list archive) |
---|---|
State | Accepted |
Commit | 2823c8716c687d6c7e261a3a02b3cab43809fe9c |
Delegated to: | Kalle Valo |
Headers | show |
Series | b43: Fix regression in kernel 4.18 | expand |
Larry Finger <Larry.Finger@lwfinger.net> wrote: > In commit 66cffd6daab7 ("b43: fix transmit failure when VT is switched"), > a condition is noted where the network controller needs to be reset. Note > that this situation happens when running the open-source firmware > (http://netweb.ing.unibs.it/~openfwwf/), plus a number of other special > conditions. > > for a different card model, it is reported that this change breaks > operation running the proprietary firmware > (https://marc.info/?l=linux-wireless&m=153504546924558&w=2). Rather > than reverting the previous patch, the code is tweaked to avoid the > reset unless the open-source firmware is being used. > > Fixes: 66cffd6daab7 ("b43: fix transmit failure when VT is switched") > Cc: Stable <stable@vger.kernel.org> # 4.18+ > Cc: Taketo Kabe <kabe@sra-tohoku.co.jp> > Reported-and-tested-by: D. Prabhu <d.praabhu@gmail.com> > Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> I'll change the title to something more descriptive: b43: fix DMA error related regression with proprietary firmware Does that make sense?
On 08/31/2018 10:38 AM, Kalle Valo wrote: > Larry Finger <Larry.Finger@lwfinger.net> wrote: > >> In commit 66cffd6daab7 ("b43: fix transmit failure when VT is switched"), >> a condition is noted where the network controller needs to be reset. Note >> that this situation happens when running the open-source firmware >> (http://netweb.ing.unibs.it/~openfwwf/), plus a number of other special >> conditions. >> >> for a different card model, it is reported that this change breaks >> operation running the proprietary firmware >> (https://marc.info/?l=linux-wireless&m=153504546924558&w=2). Rather >> than reverting the previous patch, the code is tweaked to avoid the >> reset unless the open-source firmware is being used. >> >> Fixes: 66cffd6daab7 ("b43: fix transmit failure when VT is switched") >> Cc: Stable <stable@vger.kernel.org> # 4.18+ >> Cc: Taketo Kabe <kabe@sra-tohoku.co.jp> >> Reported-and-tested-by: D. Prabhu <d.praabhu@gmail.com> >> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> > > I'll change the title to something more descriptive: > > b43: fix DMA error related regression with proprietary firmware > > Does that make sense? Yes, that is fine. Larry
Larry Finger <Larry.Finger@lwfinger.net> wrote: > In commit 66cffd6daab7 ("b43: fix transmit failure when VT is switched"), > a condition is noted where the network controller needs to be reset. Note > that this situation happens when running the open-source firmware > (http://netweb.ing.unibs.it/~openfwwf/), plus a number of other special > conditions. > > for a different card model, it is reported that this change breaks > operation running the proprietary firmware > (https://marc.info/?l=linux-wireless&m=153504546924558&w=2). Rather > than reverting the previous patch, the code is tweaked to avoid the > reset unless the open-source firmware is being used. > > Fixes: 66cffd6daab7 ("b43: fix transmit failure when VT is switched") > Cc: Stable <stable@vger.kernel.org> # 4.18+ > Cc: Taketo Kabe <kabe@sra-tohoku.co.jp> > Reported-and-tested-by: D. Prabhu <d.praabhu@gmail.com> > Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Patch applied to wireless-drivers.git, thanks. 2823c8716c68 b43: fix DMA error related regression with proprietary firmware
diff --git a/drivers/net/wireless/broadcom/b43/dma.c b/drivers/net/wireless/broadcom/b43/dma.c index 6b0e1ec346cb..d46d57b989ae 100644 --- a/drivers/net/wireless/broadcom/b43/dma.c +++ b/drivers/net/wireless/broadcom/b43/dma.c @@ -1518,13 +1518,15 @@ void b43_dma_handle_txstatus(struct b43_wldev *dev, } } else { /* More than a single header/data pair were missed. - * Report this error, and reset the controller to + * Report this error. If running with open-source + * firmware, then reset the controller to * revive operation. */ b43dbg(dev->wl, "Out of order TX status report on DMA ring %d. Expected %d, but got %d\n", ring->index, firstused, slot); - b43_controller_restart(dev, "Out of order TX"); + if (dev->fw.opensource) + b43_controller_restart(dev, "Out of order TX"); return; } }
In commit 66cffd6daab7 ("b43: fix transmit failure when VT is switched"), a condition is noted where the network controller needs to be reset. Note that this situation happens when running the open-source firmware (http://netweb.ing.unibs.it/~openfwwf/), plus a number of other special conditions. for a different card model, it is reported that this change breaks operation running the proprietary firmware (https://marc.info/?l=linux-wireless&m=153504546924558&w=2). Rather than reverting the previous patch, the code is tweaked to avoid the reset unless the open-source firmware is being used. Fixes: 66cffd6daab7 ("b43: fix transmit failure when VT is switched") Cc: Stable <stable@vger.kernel.org> # 4.18+ Cc: Taketo Kabe <kabe@sra-tohoku.co.jp> Reported-and-tested-by: D. Prabhu <d.praabhu@gmail.com> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> --- drivers/net/wireless/broadcom/b43/dma.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)