Messages in this thread | | | Subject | Re: [PATCH net 2/4] net: ravb: Allow RX loop to move past DMA mapping errors | From | Sergey Shtylyov <> | Date | Thu, 11 Apr 2024 19:37:50 +0300 |
| |
On 4/11/24 2:44 PM, Paul Barker wrote:
> The RX loops in ravb_rx_gbeth() and ravb_rx_rcar() skip to the next loop > interation if a zero-length descriptor is seen (indicating a DMA mapping
Iteration. :-)
> error). However, the current rx descriptor index `priv->cur_rx[q]` was
RX?
> incremented at the end of the loop and so would not be incremented when > we skip to the next loop iteration. This would cause the loop to keep > seeing the same zero-length descriptor instead of moving on to the next > descriptor. > > As the loop counter `i` still increments, the loop would eventually > terminate so there is no risk of being stuck here forever - but we > should still fix this to avoid wasting cycles. > > To fix this, the rx descriptor index is incremented at the top of the
RX?
> loop, in the for statement itself. The assignments of `entry` and `desc` > are brought into the loop to avoid the need for duplication. > > Fixes: d8b48911fd24 ("ravb: fix ring memory allocation") > Signed-off-by: Paul Barker <paul.barker.ct@bp.renesas.com>
Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>
[...]
MBR, Sergey
| |