diff mbox series

[net,v2] net: ethernet: microchip: lan743x: Fix memory allocation failure

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

Checks

Context Check Description
netdev/series_format success Single patches do not need cover letters
netdev/tree_selection success Clearly marked for net
netdev/ynl success Generated files up to date; no warnings/errors; no diff in generated;
netdev/fixes_present success Fixes tag present in non-next series
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit fail Errors and warnings before: 7 this patch: 7
netdev/build_tools success No tools touched, skip
netdev/cc_maintainers fail 1 blamed authors not CCed: yuiko.oshino@microchip.com; 1 maintainers not CCed: yuiko.oshino@microchip.com
netdev/build_clang fail Errors and warnings before: 8 this patch: 8
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/deprecated_api success None detected
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn fail Errors and warnings before: 7 this patch: 7
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 9 lines checked
netdev/build_clang_rust success No Rust files in patch. Skipping build
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Thangaraj Samynathan March 25, 2025, 10:56 a.m. UTC
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(-)

Comments

Simon Horman March 26, 2025, 10:03 a.m. UTC | #1
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 mbox series

Patch

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.