On Thu, 10 May 2018 19:30:45 +0900 Taketo Kabe <kabe@xxxxxxxxxxxxxxxx> wrote: > Signed-off-by: Taketo Kabe <kabe@xxxxxxxxxxxxxxxx> > --- > diff -up ./drivers/net/wireless/broadcom/b43/dma.c.b43 ./drivers/net/wireless/broadcom/b43/dma.c > --- ./drivers/net/wireless/broadcom/b43/dma.c.b43 2018-05-04 15:18:12.000000000 +0900 > +++ ./drivers/net/wireless/broadcom/b43/dma.c 2018-05-10 18:46:36.000000000 +0900 > @@ -1484,7 +1484,7 @@ void b43_dma_handle_txstatus(struct b43_ > int slot, firstused; > bool frame_succeed; > int skip; > - static u8 err_out1, err_out2; > + static u8 err_out1; > > ring = parse_cookie(dev, status->cookie, &slot); > if (unlikely(!ring)) > @@ -1518,13 +1518,13 @@ void b43_dma_handle_txstatus(struct b43_ > } > } else { > /* More than a single header/data pair were missed. > - * Report this error once. > + * Report this error, and reset the controller to > + * revive operation. > */ > - if (!err_out2) > - b43dbg(dev->wl, > - "Out of order TX status report on DMA ring %d. Expected %d, but got %d\n", > - ring->index, firstused, slot); > - err_out2 = 1; > + 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"); > return; > } > } Reviewed-by: Michael Büsch <m@xxxxxxx> I think this is a good thing to have. It improves robustness against firmware/DMA misbehavior. -- Michael
Attachment:
pgpqV0obgn4r9.pgp
Description: OpenPGP digital signature