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.