Re: [PATCH net-next v2 3/3] net: stmmac: Introducing support for Page Pool

From: Jesper Dangaard Brouer
Date: Thu Jul 04 2019 - 11:38:08 EST


On Thu, 4 Jul 2019 17:04:14 +0200
Jose Abreu <Jose.Abreu@xxxxxxxxxxxx> wrote:

> @@ -1498,8 +1480,9 @@ static void free_dma_rx_desc_resources(struct stmmac_priv *priv)
> sizeof(struct dma_extended_desc),
> rx_q->dma_erx, rx_q->dma_rx_phy);
>
> - kfree(rx_q->rx_skbuff_dma);
> - kfree(rx_q->rx_skbuff);
> + kfree(rx_q->buf_pool);
> + if (rx_q->page_pool && page_pool_request_shutdown(rx_q->page_pool))
> + page_pool_free(rx_q->page_pool);
> }
> }

This code is okay, but I would likely write it as:

if (rx_q->page_pool) {
page_pool_request_shutdown(rx_q->page_pool));
page_pool_free(rx_q->page_pool);
}

Because (as you noticed) page_pool_free() have some API misuse checks,
that will get triggered, and thus provide a warning of you forget to
update this when driver evolves.

--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
LinkedIn: http://www.linkedin.com/in/brouer