From 4d97e8eda8e054fbbc2e621920e5a3d0feb55573 Mon Sep 17 00:00:00 2001
From: Aastha Mehta <aasthakm@mpi-sws.org>
Date: Tue, 22 May 2018 09:07:09 +0000
Subject: [PATCH] move tx interception to the beginning of the driver xmit
 function

---
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
index f194f449f..2dedb5719 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
@@ -5222,6 +5222,10 @@ netdev_tx_t bnx2x_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
 #ifdef CONFIG_XEN_SME
 	int sme_ret = NETDEV_TX_OK;
+	sme_ret = xsl_intercept_sk_buff(skb, NULL);
+	if (sme_ret == 0) {
+		return NETDEV_TX_OK;
+	}
 #endif
 
 #ifdef BNX2X_STOP_ON_ERROR
@@ -5306,13 +5310,6 @@ netdev_tx_t bnx2x_start_xmit(struct sk_buff *skb, struct net_device *dev)
 	}
 #endif
 
-#ifdef CONFIG_XEN_SME
-	sme_ret = xsl_intercept_sk_buff(skb, NULL);
-	if (sme_ret == 0) {
-		return NETDEV_TX_OK;
-	}
-#endif
-
 	/* Map skb linear data for DMA */
 	mapping = dma_map_single(&bp->pdev->dev, skb->data,
 				 skb_headlen(skb), DMA_TO_DEVICE);
-- 
GitLab