On Thu, 10 May 2018 19:30:45 +0900
Taketo Kabe <k...@sra-tohoku.co.jp> wrote:

> Signed-off-by: Taketo Kabe <k...@sra-tohoku.co.jp>
> ---
> 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...@bues.ch>

I think this is a good thing to have.
It improves robustness against firmware/DMA misbehavior.

-- 
Michael

Attachment: pgpcNqd0vtBr1.pgp
Description: OpenPGP digital signature

Reply via email to