[ipq806x] Updated Tx handling for virtual interface
Direct ndo_start_xmit() is called instead of dev_queue_xmit()
Change-Id: I90eb7f9623fe05b78e851fd823deabc6c50129ae
Signed-off-by: Abhishek Rastogi <arastogi@codeaurora.org>
Reviewed-by: Bharath M Kumar <mbkumar@codeaurora.org>
Reviewed-by: Mughilan Ramajayam <mughilan@codeaurora.org>
diff --git a/nss_core.c b/nss_core.c
index eac3d5e..891050a 100755
--- a/nss_core.c
+++ b/nss_core.c
@@ -195,7 +195,7 @@
*/
ndev = (struct net_device *)nss_ctx->nss_top->if_ctx[desc->interface_num];
if (unlikely(ndev == NULL)) {
- nss_warning("%p: Received packet for unregistered virtual interface %d",
+ nss_warning("%p: Received packet for bad virtual interface %d",
nss_ctx, desc->interface_num);
/*
@@ -214,7 +214,7 @@
/*
* Send the packet to virtual interface
*/
- dev_queue_xmit(nbuf);
+ ndev->netdev_ops->ndo_start_xmit(nbuf, ndev);
dev_put(ndev);
break;
@@ -269,6 +269,8 @@
/*
* Interface has gone down
*/
+ nss_warning("%p: Received exception packet from bad virtual interface %d",
+ nss_ctx, desc->interface_num);
dev_kfree_skb_any(nbuf);
}
} else {