On Tue, Mar 10, 2026 at 11:31:04AM -0700, Vishwanath Seshagiri wrote:
> @@ -5857,7 +5863,7 @@ static int virtnet_xsk_pool_enable(struct net_device 
> *dev,
>       /* In big_packets mode, xdp cannot work, so there is no need to
>        * initialize xsk of rq.
>        */
> -     if (vi->big_packets && !vi->mergeable_rx_bufs)
> +     if (!vi->rq[qid].page_pool)
>               return -ENOENT;
>  
>       if (qid >= vi->curr_queue_pairs)



It seems that a qid that exceeds curr_queue_pairs would previously get
-EINVAL and now gets -ENOENT. Maybe reorder the checks:

        if (qid >= vi->curr_queue_pairs)
                return -EINVAL;

        /* In big_packets mode, xdp cannot work, so there is no need to
         * initialize xsk of rq.
         */ 
       if (!vi->rq[qid].page_pool)
               return -ENOENT;


Alternatively I think we can completely drop this chunk: we already seem
to init page_pull at all times except for big packets mode, so the
current code is fine I think.


-- 
MST


Reply via email to