Re: [PATCH v3 0/2] Net driver bugs fix
From: David Miller
Date: Tue May 10 2016 - 14:40:32 EST
From: Elad Kanfi <eladkan@xxxxxxxxxxxx>
Date: Mon, 9 May 2016 20:13:18 +0300
> Summary:
> 1. Bug description: TX done interrupts that arrives while interrupts
> are masked, during NAPI poll, will not trigger an interrupt handling.
> Since TX interrupt is of level edge we will lose the TX done interrupt.
> As a result all pending tx frames will get no service.
>
> Solution: Check if there is a pending tx request after unmasking the
> interrupt and if answer is yes then re-add ourselves to
> the NAPI poll list.
>
> 2. Bug description: CPU-A before sending a frame will set a variable
> to true. CPU-B that executes the tx done interrupt service routine
> might read a non valid value of that variable.
>
> Solution: Use the socket buffer pointer instead of the variable,
> and add a write memory barrier at the tx sending function after
> the pointer is set.
Series applied, thanks.