Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 48291c22 authored by Vasundhara Volam's avatar Vasundhara Volam Committed by David S. Miller
Browse files

be2net: Fix vlans_added counter



When a VLAN is added by user, adapter->vlans_added is incremented.
But if the VLAN is already programmed in HW, driver ends up
incrementing the counter wrongly.

Increment the counter only if VLAN is not already programmed in the HW.

Signed-off-by: default avatarVasundhara Volam <vasundhara.volam@emulex.com>
Signed-off-by: default avatarSathya Perla <sathya.perla@emulex.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a5243dab
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1138,7 +1138,10 @@ static int be_vlan_add_vid(struct net_device *netdev, __be16 proto, u16 vid)

	/* Packets with VID 0 are always received by Lancer by default */
	if (lancer_chip(adapter) && vid == 0)
		goto ret;
		return status;

	if (adapter->vlan_tag[vid])
		return status;

	adapter->vlan_tag[vid] = 1;
	adapter->vlans_added++;
@@ -1148,7 +1151,7 @@ static int be_vlan_add_vid(struct net_device *netdev, __be16 proto, u16 vid)
		adapter->vlans_added--;
		adapter->vlan_tag[vid] = 0;
	}
ret:

	return status;
}