summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
diff options
context:
space:
mode:
authorManish Chopra <manish.chopra@qlogic.com>2013-08-30 13:51:16 -0400
committerDavid S. Miller <davem@davemloft.net>2013-08-31 22:34:43 -0400
commit991ca269ed71b2b7aee27f5cb8bf64b689cc20bf (patch)
treeaa98ffd7e41853d8984f4579e01461c9d9a47054 /drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
parenteb3c0d83cc78361a28e52e514a7095fdbf771e7e (diff)
downloadblackbird-op-linux-991ca269ed71b2b7aee27f5cb8bf64b689cc20bf.tar.gz
blackbird-op-linux-991ca269ed71b2b7aee27f5cb8bf64b689cc20bf.zip
qlcnic: Enhance PVID handling for 84xx adapters
o PF driver should not indicate PVID configuration to VF driver. As adapter supports VLAN stripping, VF driver should stay agnostic to any PVID configuration. o Return "QLC_NO_VLAN_MODE(= 0)" to VFD when PVID is configured. VF driver should be in no VLAN configuration mode. Signed-off-by: Manish Chopra <manish.chopra@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c')
-rw-r--r--drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
index 2d6faf0fcc10..95b7710ecfa5 100644
--- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
+++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c
@@ -1183,10 +1183,19 @@ static int qlcnic_sriov_pf_get_acl_cmd(struct qlcnic_bc_trans *trans,
struct qlcnic_vf_info *vf = trans->vf;
struct qlcnic_vport *vp = vf->vp;
u8 cmd_op, mode = vp->vlan_mode;
+ struct qlcnic_adapter *adapter;
+
+ adapter = vf->adapter;
cmd_op = trans->req_hdr->cmd_op;
cmd->rsp.arg[0] |= 1 << 25;
+ /* For 84xx adapter in case of PVID , PFD should send vlan mode as
+ * QLC_NO_VLAN_MODE to VFD which is zero in mailbox response
+ */
+ if (qlcnic_84xx_check(adapter) && mode == QLC_PVID_MODE)
+ return 0;
+
switch (mode) {
case QLC_GUEST_VLAN_MODE:
cmd->rsp.arg[1] = mode | 1 << 8;
OpenPOWER on IntegriCloud