* [net 0/4]{pull request] Intel Wired LAN Driver Update @ 2011-08-11 22:31 Jeff Kirsher 2011-08-11 22:31 ` [net 1/4] e1000e: alternate MAC address does not work on device id 0x1060 Jeff Kirsher ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: Jeff Kirsher @ 2011-08-11 22:31 UTC (permalink / raw) To: davem; +Cc: Jeff Kirsher, netdev, gospo The following series contains 4 updates to e1000e, one of which can be applied to stable kernels back to 2.6.34. The following are changes since commit a02bc7084501d2edecb0e5b9de56da070db19aa: PCnet: Fix section mismatch and are available in the git repository at: master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net master Bruce Allan (4): e1000e: alternate MAC address does not work on device id 0x1060 e1000e: do not disable receiver on 82574/82583 e1000e: alternate MAC address update e1000e: increase driver version number drivers/net/e1000e/82571.c | 6 ++++-- drivers/net/e1000e/e1000.h | 1 + drivers/net/e1000e/ethtool.c | 3 ++- drivers/net/e1000e/lib.c | 7 ++++--- drivers/net/e1000e/netdev.c | 9 ++++++--- 5 files changed, 17 insertions(+), 9 deletions(-) -- 1.7.6 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [net 1/4] e1000e: alternate MAC address does not work on device id 0x1060 2011-08-11 22:31 [net 0/4]{pull request] Intel Wired LAN Driver Update Jeff Kirsher @ 2011-08-11 22:31 ` Jeff Kirsher 2011-08-11 22:31 ` [net 2/4] e1000e: do not disable receiver on 82574/82583 Jeff Kirsher ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: Jeff Kirsher @ 2011-08-11 22:31 UTC (permalink / raw) To: davem; +Cc: Bruce Allan, netdev, gospo, stable, Jeff Kirsher From: Bruce Allan <bruce.w.allan@intel.com> This issue is present all the way back to 2.6.34 kernels. CC: <stable@kernel.org> Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeffrey Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> --- drivers/net/e1000e/lib.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/net/e1000e/lib.c b/drivers/net/e1000e/lib.c index 7898a67..58af091 100644 --- a/drivers/net/e1000e/lib.c +++ b/drivers/net/e1000e/lib.c @@ -190,7 +190,8 @@ s32 e1000_check_alt_mac_addr_generic(struct e1000_hw *hw) /* Check for LOM (vs. NIC) or one of two valid mezzanine cards */ if (!((nvm_data & NVM_COMPAT_LOM) || (hw->adapter->pdev->device == E1000_DEV_ID_82571EB_SERDES_DUAL) || - (hw->adapter->pdev->device == E1000_DEV_ID_82571EB_SERDES_QUAD))) + (hw->adapter->pdev->device == E1000_DEV_ID_82571EB_SERDES_QUAD) || + (hw->adapter->pdev->device == E1000_DEV_ID_82571EB_SERDES))) goto out; ret_val = e1000_read_nvm(hw, NVM_ALT_MAC_ADDR_PTR, 1, -- 1.7.6 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [net 2/4] e1000e: do not disable receiver on 82574/82583 2011-08-11 22:31 [net 0/4]{pull request] Intel Wired LAN Driver Update Jeff Kirsher 2011-08-11 22:31 ` [net 1/4] e1000e: alternate MAC address does not work on device id 0x1060 Jeff Kirsher @ 2011-08-11 22:31 ` Jeff Kirsher 2011-08-11 22:31 ` [net 3/4] e1000e: alternate MAC address update Jeff Kirsher ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: Jeff Kirsher @ 2011-08-11 22:31 UTC (permalink / raw) To: davem; +Cc: Bruce Allan, netdev, gospo, Jeff Kirsher From: Bruce Allan <bruce.w.allan@intel.com> Due to a hardware erratum, the receiver on 82574 and 82583 should not be stopped once it has been started. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> --- drivers/net/e1000e/82571.c | 6 ++++-- drivers/net/e1000e/e1000.h | 1 + drivers/net/e1000e/ethtool.c | 3 ++- drivers/net/e1000e/netdev.c | 7 +++++-- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/net/e1000e/82571.c b/drivers/net/e1000e/82571.c index 480f259..536b3a5 100644 --- a/drivers/net/e1000e/82571.c +++ b/drivers/net/e1000e/82571.c @@ -2085,7 +2085,8 @@ struct e1000_info e1000_82574_info = { | FLAG_HAS_AMT | FLAG_HAS_CTRLEXT_ON_LOAD, .flags2 = FLAG2_CHECK_PHY_HANG - | FLAG2_DISABLE_ASPM_L0S, + | FLAG2_DISABLE_ASPM_L0S + | FLAG2_NO_DISABLE_RX, .pba = 32, .max_hw_frame_size = DEFAULT_JUMBO, .get_variants = e1000_get_variants_82571, @@ -2104,7 +2105,8 @@ struct e1000_info e1000_82583_info = { | FLAG_HAS_AMT | FLAG_HAS_JUMBO_FRAMES | FLAG_HAS_CTRLEXT_ON_LOAD, - .flags2 = FLAG2_DISABLE_ASPM_L0S, + .flags2 = FLAG2_DISABLE_ASPM_L0S + | FLAG2_NO_DISABLE_RX, .pba = 32, .max_hw_frame_size = DEFAULT_JUMBO, .get_variants = e1000_get_variants_82571, diff --git a/drivers/net/e1000e/e1000.h b/drivers/net/e1000e/e1000.h index 638d175..35916f4 100644 --- a/drivers/net/e1000e/e1000.h +++ b/drivers/net/e1000e/e1000.h @@ -453,6 +453,7 @@ struct e1000_info { #define FLAG2_DISABLE_ASPM_L0S (1 << 7) #define FLAG2_DISABLE_AIM (1 << 8) #define FLAG2_CHECK_PHY_HANG (1 << 9) +#define FLAG2_NO_DISABLE_RX (1 << 10) #define E1000_RX_DESC_PS(R, i) \ (&(((union e1000_rx_desc_packet_split *)((R).desc))[i])) diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c index 06d88f3..6a0526a 100644 --- a/drivers/net/e1000e/ethtool.c +++ b/drivers/net/e1000e/ethtool.c @@ -1206,7 +1206,8 @@ static int e1000_setup_desc_rings(struct e1000_adapter *adapter) rx_ring->next_to_clean = 0; rctl = er32(RCTL); - ew32(RCTL, rctl & ~E1000_RCTL_EN); + if (!(adapter->flags2 & FLAG2_NO_DISABLE_RX)) + ew32(RCTL, rctl & ~E1000_RCTL_EN); ew32(RDBAL, ((u64) rx_ring->dma & 0xFFFFFFFF)); ew32(RDBAH, ((u64) rx_ring->dma >> 32)); ew32(RDLEN, rx_ring->size); diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c index ab4be80..c0406b1 100644 --- a/drivers/net/e1000e/netdev.c +++ b/drivers/net/e1000e/netdev.c @@ -2915,7 +2915,8 @@ static void e1000_configure_rx(struct e1000_adapter *adapter) /* disable receives while setting up the descriptors */ rctl = er32(RCTL); - ew32(RCTL, rctl & ~E1000_RCTL_EN); + if (!(adapter->flags2 & FLAG2_NO_DISABLE_RX)) + ew32(RCTL, rctl & ~E1000_RCTL_EN); e1e_flush(); usleep_range(10000, 20000); @@ -3394,7 +3395,8 @@ void e1000e_down(struct e1000_adapter *adapter) /* disable receives in the hardware */ rctl = er32(RCTL); - ew32(RCTL, rctl & ~E1000_RCTL_EN); + if (!(adapter->flags2 & FLAG2_NO_DISABLE_RX)) + ew32(RCTL, rctl & ~E1000_RCTL_EN); /* flush and sleep below */ netif_stop_queue(netdev); @@ -3403,6 +3405,7 @@ void e1000e_down(struct e1000_adapter *adapter) tctl = er32(TCTL); tctl &= ~E1000_TCTL_EN; ew32(TCTL, tctl); + /* flush both disables and wait for them to finish */ e1e_flush(); usleep_range(10000, 20000); -- 1.7.6 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [net 3/4] e1000e: alternate MAC address update 2011-08-11 22:31 [net 0/4]{pull request] Intel Wired LAN Driver Update Jeff Kirsher 2011-08-11 22:31 ` [net 1/4] e1000e: alternate MAC address does not work on device id 0x1060 Jeff Kirsher 2011-08-11 22:31 ` [net 2/4] e1000e: do not disable receiver on 82574/82583 Jeff Kirsher @ 2011-08-11 22:31 ` Jeff Kirsher 2011-08-11 22:31 ` [net 4/4] e1000e: increase driver version number Jeff Kirsher 2011-08-12 1:12 ` [net 0/4]{pull request] Intel Wired LAN Driver Update David Miller 4 siblings, 0 replies; 6+ messages in thread From: Jeff Kirsher @ 2011-08-11 22:31 UTC (permalink / raw) To: davem; +Cc: Bruce Allan, netdev, gospo, Jeff Kirsher From: Bruce Allan <bruce.w.allan@intel.com> If word 0x37 in the EEPROM is 0xFFFF _or_ 0x0000, then there is no alternate MAC address in the EEPROM. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> --- drivers/net/e1000e/lib.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/e1000e/lib.c b/drivers/net/e1000e/lib.c index 58af091..0893ab1 100644 --- a/drivers/net/e1000e/lib.c +++ b/drivers/net/e1000e/lib.c @@ -201,10 +201,10 @@ s32 e1000_check_alt_mac_addr_generic(struct e1000_hw *hw) goto out; } - if (nvm_alt_mac_addr_offset == 0xFFFF) { + if ((nvm_alt_mac_addr_offset == 0xFFFF) || + (nvm_alt_mac_addr_offset == 0x0000)) /* There is no Alternate MAC Address */ goto out; - } if (hw->bus.func == E1000_FUNC_1) nvm_alt_mac_addr_offset += E1000_ALT_MAC_ADDRESS_OFFSET_LAN1; -- 1.7.6 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [net 4/4] e1000e: increase driver version number 2011-08-11 22:31 [net 0/4]{pull request] Intel Wired LAN Driver Update Jeff Kirsher ` (2 preceding siblings ...) 2011-08-11 22:31 ` [net 3/4] e1000e: alternate MAC address update Jeff Kirsher @ 2011-08-11 22:31 ` Jeff Kirsher 2011-08-12 1:12 ` [net 0/4]{pull request] Intel Wired LAN Driver Update David Miller 4 siblings, 0 replies; 6+ messages in thread From: Jeff Kirsher @ 2011-08-11 22:31 UTC (permalink / raw) To: davem; +Cc: Bruce Allan, netdev, gospo, Jeff Kirsher From: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> --- drivers/net/e1000e/netdev.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c index c0406b1..362f703 100644 --- a/drivers/net/e1000e/netdev.c +++ b/drivers/net/e1000e/netdev.c @@ -56,7 +56,7 @@ #define DRV_EXTRAVERSION "-k" -#define DRV_VERSION "1.3.16" DRV_EXTRAVERSION +#define DRV_VERSION "1.4.4" DRV_EXTRAVERSION char e1000e_driver_name[] = "e1000e"; const char e1000e_driver_version[] = DRV_VERSION; -- 1.7.6 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [net 0/4]{pull request] Intel Wired LAN Driver Update 2011-08-11 22:31 [net 0/4]{pull request] Intel Wired LAN Driver Update Jeff Kirsher ` (3 preceding siblings ...) 2011-08-11 22:31 ` [net 4/4] e1000e: increase driver version number Jeff Kirsher @ 2011-08-12 1:12 ` David Miller 4 siblings, 0 replies; 6+ messages in thread From: David Miller @ 2011-08-12 1:12 UTC (permalink / raw) To: jeffrey.t.kirsher; +Cc: netdev, gospo From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Date: Thu, 11 Aug 2011 15:31:44 -0700 > The following series contains 4 updates to e1000e, one of which can be > applied to stable kernels back to 2.6.34. > > The following are changes since commit a02bc7084501d2edecb0e5b9de56da070db19aa: > PCnet: Fix section mismatch > and are available in the git repository at: > master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net master Pulled, thanks Jeff. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-08-12 1:12 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-08-11 22:31 [net 0/4]{pull request] Intel Wired LAN Driver Update Jeff Kirsher 2011-08-11 22:31 ` [net 1/4] e1000e: alternate MAC address does not work on device id 0x1060 Jeff Kirsher 2011-08-11 22:31 ` [net 2/4] e1000e: do not disable receiver on 82574/82583 Jeff Kirsher 2011-08-11 22:31 ` [net 3/4] e1000e: alternate MAC address update Jeff Kirsher 2011-08-11 22:31 ` [net 4/4] e1000e: increase driver version number Jeff Kirsher 2011-08-12 1:12 ` [net 0/4]{pull request] Intel Wired LAN Driver Update David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).