summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/e100.c
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2011-10-22 05:18:10 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2011-11-02 16:55:00 -0700
commit243559f436f26b571ea3a4e70ff082892dc58f16 (patch)
tree36131ab7f2cb2fe4143f43482cd476a498dd283b /drivers/net/ethernet/intel/e100.c
parent34c9ef8bc66e21bdecb215b2fb7d93092468d27d (diff)
downloadtalos-obmc-linux-243559f436f26b571ea3a4e70ff082892dc58f16.tar.gz
talos-obmc-linux-243559f436f26b571ea3a4e70ff082892dc58f16.zip
e100: make sure vlan support isn't advertised on old adapters
e100 parts don't support vlan offload but they generally do allow use of vlans in higher software layers via the 8021q module. That said, there are a couple of really old revisions of e100 hardware that don't even allow the longer frame sizes required for vlan use with standard MTU. Use the VLAN_CHALLENGED flag to prevent vlan binding to these devices. Reported-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> CC: Michael Tokarev <mjt@tls.msk.ru> CC: David Lamparter <equinox@diac24.net> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/e100.c')
-rw-r--r--drivers/net/ethernet/intel/e100.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
index ae17cd1a907f..5a2fdf7a00c8 100644
--- a/drivers/net/ethernet/intel/e100.c
+++ b/drivers/net/ethernet/intel/e100.c
@@ -2810,6 +2810,10 @@ static int __devinit e100_probe(struct pci_dev *pdev,
e100_get_defaults(nic);
+ /* D100 MAC doesn't allow rx of vlan packets with normal MTU */
+ if (nic->mac < mac_82558_D101_A4)
+ netdev->features |= NETIF_F_VLAN_CHALLENGED;
+
/* locks must be initialized before calling hw_reset */
spin_lock_init(&nic->cb_lock);
spin_lock_init(&nic->cmd_lock);
OpenPOWER on IntegriCloud