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