diff mbox

[net,1/4] qlge: Do not propaged vlan tag offloads to vlans

Message ID 1395972889-32289-2-git-send-email-vyasevic@redhat.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Vlad Yasevich March 28, 2014, 2:14 a.m. UTC
qlge driver turns off NETIF_F_HW_CTAG_FILTER, but forgets to
turn off HW_CTAG_TX and HW_CTAG_RX on vlan devices.  With the
current settings, q-in-q will only generate a single vlan header.
Remember to mask off CTAG_TX and CTAG_RX features in vlan_features.

CC: Shahed Shaikh <shahed.shaikh@qlogic.com>
CC: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
CC: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
---
 drivers/net/ethernet/qlogic/qlge/qlge_main.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Jitendra Kalsaria March 28, 2014, 3:32 a.m. UTC | #1
On 3/27/14 7:14 PM, "Vlad Yasevich" <vyasevic@redhat.com> wrote:

>qlge driver turns off NETIF_F_HW_CTAG_FILTER, but forgets to
>turn off HW_CTAG_TX and HW_CTAG_RX on vlan devices.  With the
>current settings, q-in-q will only generate a single vlan header.
>Remember to mask off CTAG_TX and CTAG_RX features in vlan_features.
>
>CC: Shahed Shaikh <shahed.shaikh@qlogic.com>
>CC: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
>CC: Ron Mercer <ron.mercer@qlogic.com>
>Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
>---
> drivers/net/ethernet/qlogic/qlge/qlge_main.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)

Acked-by: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/ethernet/qlogic/qlge/qlge_main.c b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
index ce2cfdd..656c65d 100644
--- a/drivers/net/ethernet/qlogic/qlge/qlge_main.c
+++ b/drivers/net/ethernet/qlogic/qlge/qlge_main.c
@@ -4765,7 +4765,9 @@  static int qlge_probe(struct pci_dev *pdev,
 	ndev->features = ndev->hw_features;
 	ndev->vlan_features = ndev->hw_features;
 	/* vlan gets same features (except vlan filter) */
-	ndev->vlan_features &= ~NETIF_F_HW_VLAN_CTAG_FILTER;
+	ndev->vlan_features &= ~(NETIF_F_HW_VLAN_CTAG_FILTER |
+				 NETIF_F_HW_VLAN_CTAG_TX |
+				 NETIF_F_HW_VLAN_CTAG_RX);
 
 	if (test_bit(QL_DMA64, &qdev->flags))
 		ndev->features |= NETIF_F_HIGHDMA;