diff options
author | Bruce Allan <bruce.w.allan@intel.com> | 2013-03-20 03:23:11 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2013-03-28 03:01:52 -0400 |
commit | d495bcb84d2c3abb5ad5e43cfeea0e305ceffb30 (patch) | |
tree | 6edb94fb74a39dee627bbaeb39b3d21df84acc29 /drivers/net/ethernet/intel/e1000e/e1000.h | |
parent | ea8179a72844b30d046cdcc932231872f2dbcc90 (diff) |
e1000e: EEE capability advertisement not set/disabled as required
Devices supported by the driver which support EEE (currently 82579, I217
and I218) are advertising EEE capabilities during auto-negotiation even
when EEE has been disabled. In addition to not acting as expected, this
also caused the EEE status reported by 'ethtool --show-eee' to be wrong
when two of these devices are connected back-to-back and EEE is disabled
on one. In addition to fixing this issue, the ability for the user to
specify which speeds (100 or 1000 full-duplex) to advertise EEE support
has been added.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/e1000e/e1000.h')
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/e1000.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/e1000e/e1000.h b/drivers/net/ethernet/intel/e1000e/e1000.h index e371f771cf8b..82f1c84282db 100644 --- a/drivers/net/ethernet/intel/e1000e/e1000.h +++ b/drivers/net/ethernet/intel/e1000e/e1000.h | |||
@@ -46,6 +46,7 @@ | |||
46 | #include <linux/ptp_clock_kernel.h> | 46 | #include <linux/ptp_clock_kernel.h> |
47 | #include <linux/ptp_classify.h> | 47 | #include <linux/ptp_classify.h> |
48 | #include <linux/mii.h> | 48 | #include <linux/mii.h> |
49 | #include <linux/mdio.h> | ||
49 | #include "hw.h" | 50 | #include "hw.h" |
50 | 51 | ||
51 | struct e1000_info; | 52 | struct e1000_info; |
@@ -350,6 +351,8 @@ struct e1000_adapter { | |||
350 | struct timecounter tc; | 351 | struct timecounter tc; |
351 | struct ptp_clock *ptp_clock; | 352 | struct ptp_clock *ptp_clock; |
352 | struct ptp_clock_info ptp_clock_info; | 353 | struct ptp_clock_info ptp_clock_info; |
354 | |||
355 | u16 eee_advert; | ||
353 | }; | 356 | }; |
354 | 357 | ||
355 | struct e1000_info { | 358 | struct e1000_info { |