Re: [PATCH RFC net-next v2 1/8] net: macb: move Rx buffers alloc from link up to open
From: Théo Lebrun <theo.lebrun@bootlin.com>
Date: 2026-01-08 15:24:38
Hello Paolo, Nothing major in this review. Mostly nits. On Sun Dec 21, 2025 at 12:51 AM CET, Paolo Valerio wrote:
From: Théo Lebrun <theo.lebrun@bootlin.com> mog_alloc_rx_buffers(), getting called at open, does not do rx buffer alloc on GEM. The bulk of the work is done by gem_rx_refill() filling up all slots with valid buffers. gem_rx_refill() is called at link up by gem_init_rings() == bp->macbgem_ops.mog_init_rings(). Move operation to macb_open(), mostly to allow it to fail early and loudly rather than init the device with Rx mostly broken. About `bool fail_early`: - When called from macb_open(), ring init fails as soon as a queue cannot be refilled. - When called from macb_hresp_error_task(), we do our best to reinit the device: we still iterate over all queues and try refilling all even if a previous queue failed.
About [PATCH 1/8], it conflicts with a patch that landed on v6.19-rc4:
99537d5c476c ("net: macb: Relocate mog_init_rings() callback from
macb_mac_link_up() to macb_open()").
I don't get a merge conflict but the
bp->macbgem_ops.mog_init_rings(bp);
call must be dropped from macb_open() in [1/8]. It doesn't build anyway
because that call passes a single argument.
Thanks,
--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com