On 2023/11/6 10:44, Mina Almasry wrote:
> +
> +void netdev_free_devmem(struct page_pool_iov *ppiov)
> +{
> +     struct netdev_dmabuf_binding *binding = page_pool_iov_binding(ppiov);
> +
> +     refcount_set(&ppiov->refcount, 1);
> +
> +     if (gen_pool_has_addr(binding->chunk_pool,
> +                           page_pool_iov_dma_addr(ppiov), PAGE_SIZE))

When gen_pool_has_addr() returns false, does it mean something has gone
really wrong here?

> +             gen_pool_free(binding->chunk_pool,
> +                           page_pool_iov_dma_addr(ppiov), PAGE_SIZE);
> +
> +     netdev_devmem_binding_put(binding);
> +}
> +
>  void netdev_unbind_dmabuf(struct netdev_dmabuf_binding *binding)
>  {
>       struct netdev_rx_queue *rxq;
> 

Reply via email to