igb: Update MTU so that it is always at least a standard frame size
authorAlexander Duyck <alexander.h.duyck@intel.com>
Tue, 16 Jul 2013 00:20:34 +0000 (00:20 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 22 Aug 2013 09:25:49 +0000 (02:25 -0700)
This change makes it so that we limit the lower bound for max_frame_size to
the size of a standard Ethernet frame.  This allows for feature parity with
other Intel based drivers such as ixgbe.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_main.c

index 94295a06c12482b4c1721c34cff63609c7140ee3..1a0137d68109559bea776a65e019b029815f182d 100644 (file)
@@ -4813,6 +4813,10 @@ static int igb_change_mtu(struct net_device *netdev, int new_mtu)
                return -EINVAL;
        }
 
+       /* adjust max frame to be at least the size of a standard frame */
+       if (max_frame < (ETH_FRAME_LEN + ETH_FCS_LEN))
+               max_frame = ETH_FRAME_LEN + ETH_FCS_LEN;
+
        while (test_and_set_bit(__IGB_RESETTING, &adapter->state))
                msleep(1);