Эх сурвалжийг харах

nfp: be drop monitor friendly

Use dev_consume_skb_any() in place of dev_kfree_skb_any()
when control frame has been successfully processed in flower
and on the driver's main TX completion path.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jakub Kicinski 8 жил өмнө
parent
commit
023a928461

+ 3 - 0
drivers/net/ethernet/netronome/nfp/flower/cmsg.c

@@ -189,8 +189,11 @@ nfp_flower_cmsg_process_one_rx(struct nfp_app *app, struct sk_buff *skb)
 	default:
 	default:
 		nfp_flower_cmsg_warn(app, "Cannot handle invalid repr control type %u\n",
 		nfp_flower_cmsg_warn(app, "Cannot handle invalid repr control type %u\n",
 				     type);
 				     type);
+		goto out;
 	}
 	}
 
 
+	dev_consume_skb_any(skb);
+	return;
 out:
 out:
 	dev_kfree_skb_any(skb);
 	dev_kfree_skb_any(skb);
 }
 }

+ 1 - 1
drivers/net/ethernet/netronome/nfp/nfp_net_common.c

@@ -991,7 +991,7 @@ static void nfp_net_tx_complete(struct nfp_net_tx_ring *tx_ring)
 
 
 		/* check for last gather fragment */
 		/* check for last gather fragment */
 		if (fidx == nr_frags - 1)
 		if (fidx == nr_frags - 1)
-			dev_kfree_skb_any(skb);
+			dev_consume_skb_any(skb);
 
 
 		tx_ring->txbufs[idx].dma_addr = 0;
 		tx_ring->txbufs[idx].dma_addr = 0;
 		tx_ring->txbufs[idx].skb = NULL;
 		tx_ring->txbufs[idx].skb = NULL;