aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r--drivers/net/e1000/e1000_main.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index e55fb9cc41c3..a1f5b0605363 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3138,11 +3138,13 @@ e1000_change_mtu(struct net_device *netdev, int new_mtu)
3138 } 3138 }
3139 break; 3139 break;
3140 case e1000_82573: 3140 case e1000_82573:
3141 /* only enable jumbo frames if ASPM is disabled completely 3141 /* Jumbo Frames not supported if:
3142 * this means both bits must be zero in 0x1A bits 3:2 */ 3142 * - this is not an 82573L device
3143 * - ASPM is enabled in any way (0x1A bits 3:2) */
3143 e1000_read_eeprom(&adapter->hw, EEPROM_INIT_3GIO_3, 1, 3144 e1000_read_eeprom(&adapter->hw, EEPROM_INIT_3GIO_3, 1,
3144 &eeprom_data); 3145 &eeprom_data);
3145 if (eeprom_data & EEPROM_WORD1A_ASPM_MASK) { 3146 if ((adapter->hw.device_id != E1000_DEV_ID_82573L) ||
3147 (eeprom_data & EEPROM_WORD1A_ASPM_MASK)) {
3146 if (max_frame > MAXIMUM_ETHERNET_FRAME_SIZE) { 3148 if (max_frame > MAXIMUM_ETHERNET_FRAME_SIZE) {
3147 DPRINTK(PROBE, ERR, 3149 DPRINTK(PROBE, ERR,
3148 "Jumbo Frames not supported.\n"); 3150 "Jumbo Frames not supported.\n");
@@ -3150,6 +3152,8 @@ e1000_change_mtu(struct net_device *netdev, int new_mtu)
3150 } 3152 }
3151 break; 3153 break;
3152 } 3154 }
3155 /* ERT will be enabled later to enable wire speed receives */
3156
3153 /* fall through to get support */ 3157 /* fall through to get support */
3154 case e1000_82571: 3158 case e1000_82571:
3155 case e1000_82572: 3159 case e1000_82572: