qlcnic: Allow vlan0 traffic
authorRajesh Borundia <rajesh.borundia@qlogic.com>
Fri, 21 Feb 2014 18:20:13 +0000 (13:20 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Feb 2014 23:43:19 +0000 (18:43 -0500)
o Adapter allows vlan0 traffic in case of SR-IOV after setting
  QLC_SRIOV_ALLOW_VLAN0 bit even though we do not add vlan0 filters.

Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c

index 09acf15c3a564d1482a6e40960c6ef8dafa6f1cc..a28460cf873d3414b1a645f925325ab99d7cfffe 100644 (file)
@@ -17,6 +17,7 @@
 #define QLC_MAC_STAR_DEL       7
 #define QLC_VF_FLOOD_BIT       BIT_16
 #define QLC_FLOOD_MODE         0x5
+#define QLC_SRIOV_ALLOW_VLAN0  BIT_19
 
 static int qlcnic_sriov_pf_get_vport_handle(struct qlcnic_adapter *, u8);
 
@@ -337,8 +338,11 @@ static int qlcnic_sriov_pf_cfg_vlan_filtering(struct qlcnic_adapter *adapter,
                return err;
 
        cmd.req.arg[1] = 0x4;
-       if (enable)
+       if (enable) {
                cmd.req.arg[1] |= BIT_16;
+               if (qlcnic_84xx_check(adapter))
+                       cmd.req.arg[1] |= QLC_SRIOV_ALLOW_VLAN0;
+       }
 
        err = qlcnic_issue_cmd(adapter, &cmd);
        if (err)