From: Yuval Mintz <yuval.mi...@cavium.com>
Date: Wed, 2 Nov 2016 16:36:46 +0200

> Driver allocates replacement buffers before-hand to make
> sure whenever an aggregation begins there would be a replacement
> for the Rx buffers, as we can't release the buffer until
> aggregation is terminated and driver logic assumes the Rx rings
> are always full.
> 
> For every other Rx page that's being allocated [I.e., regular]
> the page is being completely mapped while for the replacement
> buffers only the first portion of the page is being mapped.
> This means that:
>   a. Once replacement buffer replenishes the regular Rx ring,
> assuming there's more than a single packet on page we'd post unmapped
> memory toward HW [assuming mapping is actually done in granularity
> smaller than page].
>   b. Unmaps are being done for the entire page, which is incorrect.
> 
> Fixes: 55482edc25f06 ("qede: Add slowpath/fastpath support and enable 
> hardware GRO")
> Signed-off-by: Yuval Mintz <yuval.mi...@cavium.com>

Applied.

Reply via email to