diff options
Diffstat (limited to 'target/linux/generic/backport-4.14/700-1-6-e1000e-Remove-Other-from-EIAC.diff')
-rw-r--r-- | target/linux/generic/backport-4.14/700-1-6-e1000e-Remove-Other-from-EIAC.diff | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/target/linux/generic/backport-4.14/700-1-6-e1000e-Remove-Other-from-EIAC.diff b/target/linux/generic/backport-4.14/700-1-6-e1000e-Remove-Other-from-EIAC.diff deleted file mode 100644 index 9ce01aac5e..0000000000 --- a/target/linux/generic/backport-4.14/700-1-6-e1000e-Remove-Other-from-EIAC.diff +++ /dev/null @@ -1,66 +0,0 @@ -From patchwork Mon Mar 5 21:40:25 2018 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Subject: [net,v2,1/6] e1000e: Remove Other from EIAC -X-Patchwork-Submitter: "Kirsher, Jeffrey T" <jeffrey.t.kirsher@intel.com> -X-Patchwork-Id: 881773 -X-Patchwork-Delegate: davem@davemloft.net -Message-Id: <20180305214030.25141-2-jeffrey.t.kirsher@intel.com> -To: davem@davemloft.net -Cc: Benjamin Poirier <bpoirier@suse.com>, netdev@vger.kernel.org, - nhorman@redhat.com, sassmann@redhat.com, jogreene@redhat.com, - Jeff Kirsher <jeffrey.t.kirsher@intel.com> -Date: Mon, 5 Mar 2018 13:40:25 -0800 -From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> -List-Id: <netdev.vger.kernel.org> - -From: Benjamin Poirier <bpoirier@suse.com> - -It was reported that emulated e1000e devices in vmware esxi 6.5 Build -7526125 do not link up after commit 4aea7a5c5e94 ("e1000e: Avoid receiver -overrun interrupt bursts", v4.15-rc1). Some tracing shows that after -e1000e_trigger_lsc() is called, ICR reads out as 0x0 in e1000_msix_other() -on emulated e1000e devices. In comparison, on real e1000e 82574 hardware, -icr=0x80000004 (_INT_ASSERTED | _LSC) in the same situation. - -Some experimentation showed that this flaw in vmware e1000e emulation can -be worked around by not setting Other in EIAC. This is how it was before -16ecba59bc33 ("e1000e: Do not read ICR in Other interrupt", v4.5-rc1). - -Fixes: 4aea7a5c5e94 ("e1000e: Avoid receiver overrun interrupt bursts") -Signed-off-by: Benjamin Poirier <bpoirier@suse.com> -Tested-by: Aaron Brown <aaron.f.brown@intel.com> -Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> ---- - drivers/net/ethernet/intel/e1000e/netdev.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - ---- a/drivers/net/ethernet/intel/e1000e/netdev.c -+++ b/drivers/net/ethernet/intel/e1000e/netdev.c -@@ -1914,6 +1914,8 @@ static irqreturn_t e1000_msix_other(int - bool enable = true; - - icr = er32(ICR); -+ ew32(ICR, E1000_ICR_OTHER); -+ - if (icr & E1000_ICR_RXO) { - ew32(ICR, E1000_ICR_RXO); - enable = false; -@@ -2036,7 +2038,6 @@ static void e1000_configure_msix(struct - hw->hw_addr + E1000_EITR_82574(vector)); - else - writel(1, hw->hw_addr + E1000_EITR_82574(vector)); -- adapter->eiac_mask |= E1000_IMS_OTHER; - - /* Cause Tx interrupts on every write back */ - ivar |= BIT(31); -@@ -2261,7 +2262,7 @@ static void e1000_irq_enable(struct e100 - - if (adapter->msix_entries) { - ew32(EIAC_82574, adapter->eiac_mask & E1000_EIAC_MASK_82574); -- ew32(IMS, adapter->eiac_mask | E1000_IMS_LSC); -+ ew32(IMS, adapter->eiac_mask | E1000_IMS_OTHER | E1000_IMS_LSC); - } else if (hw->mac.type >= e1000_pch_lpt) { - ew32(IMS, IMS_ENABLE_MASK | E1000_IMS_ECCER); - } else { |