Message ID | 20250325105653.6607-1-thangaraj.s@microchip.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,v2] net: ethernet: microchip: lan743x: Fix memory allocation failure | expand |
On Tue, Mar 25, 2025 at 04:26:53PM +0530, Thangaraj Samynathan wrote: > The driver allocates ring elements using GFP_DMA flags. There is > no dependency from LAN743x hardware on memory allocation should be > in DMA_ZONE. Hence modifying the flags to use only GFP_ATOMIC > > Fixes: e8684db191e4 ("net: ethernet: microchip: lan743x: Fix skb allocation failure") > Signed-off-by: Thangaraj Samynathan <thangaraj.s@microchip.com> Hi Thangaraj, As per the discussion of v1 I agree that dropping GFP_DMA and keeping GFP_ATOMIC makes sense. So the code change looks good to me. However, I am not clear that this is fixing a bug, which is the main pre-requisite for patches for 'net'. If not, perhaps it should be targeted at 'net-next' instead. In which case the Fixes tag should be dropped, but you can refer to the commit that introduced this problem in the commit message using this syntax if you wish. commit e8684db191e4 ("net: ethernet: microchip: lan743x: Fix skb allocation failure") e.g.: The driver allocates ring elements using GFP_DMA flags. There is no dependency from LAN743x hardware on memory allocation should be in DMA_ZONE. Hence modifying the flags to use only GFP_ATOMIC Introduced by commit e8684db191e4 ("net: ethernet: microchip: lan743x: Fix skb allocation failure"). Signed-off-by: ... If you do post for net-next, keep in mind that net-next is currently closed for the merge window. I expect is should re-open around the 14th April. So please post any patches for net-next after it re-opens. > --- > v0 > -Initial Commit > > v1 > -Modified GFP flags from GFP_KERNEL to GFP_ATOMIC > -added fixes tag Link to v1: https://lore.kernel.org/all/20250314070227.24423-1-thangaraj.s@microchip.com/ > > --- > drivers/net/ethernet/microchip/lan743x_main.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/microchip/lan743x_main.c b/drivers/net/ethernet/microchip/lan743x_main.c > index 23760b613d3e..8b6b9b6efe18 100644 > --- a/drivers/net/ethernet/microchip/lan743x_main.c > +++ b/drivers/net/ethernet/microchip/lan743x_main.c > @@ -2495,8 +2495,7 @@ static int lan743x_rx_process_buffer(struct lan743x_rx *rx) > > /* save existing skb, allocate new skb and map to dma */ > skb = buffer_info->skb; > - if (lan743x_rx_init_ring_element(rx, rx->last_head, > - GFP_ATOMIC | GFP_DMA)) { > + if (lan743x_rx_init_ring_element(rx, rx->last_head, GFP_ATOMIC)) { > /* failed to allocate next skb. > * Memory is very low. > * Drop this packet and reuse buffer. > -- > 2.25.1 > >
diff --git a/drivers/net/ethernet/microchip/lan743x_main.c b/drivers/net/ethernet/microchip/lan743x_main.c index 23760b613d3e..8b6b9b6efe18 100644 --- a/drivers/net/ethernet/microchip/lan743x_main.c +++ b/drivers/net/ethernet/microchip/lan743x_main.c @@ -2495,8 +2495,7 @@ static int lan743x_rx_process_buffer(struct lan743x_rx *rx) /* save existing skb, allocate new skb and map to dma */ skb = buffer_info->skb; - if (lan743x_rx_init_ring_element(rx, rx->last_head, - GFP_ATOMIC | GFP_DMA)) { + if (lan743x_rx_init_ring_element(rx, rx->last_head, GFP_ATOMIC)) { /* failed to allocate next skb. * Memory is very low. * Drop this packet and reuse buffer.
The driver allocates ring elements using GFP_DMA flags. There is no dependency from LAN743x hardware on memory allocation should be in DMA_ZONE. Hence modifying the flags to use only GFP_ATOMIC Fixes: e8684db191e4 ("net: ethernet: microchip: lan743x: Fix skb allocation failure") Signed-off-by: Thangaraj Samynathan <thangaraj.s@microchip.com> --- v0 -Initial Commit v1 -Modified GFP flags from GFP_KERNEL to GFP_ATOMIC -added fixes tag --- drivers/net/ethernet/microchip/lan743x_main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)