Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 272011 Details for
Bug 400561
e1000 erratic ping latency
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
backport of e1000e patch to e1000
linux-2.6-netdev-e1000-disable-alpm.patch (text/plain), 2.09 KB, created by
Chuck Ebbert
on 2007-11-29 00:01:15 UTC
(
hide
)
Description:
backport of e1000e patch to e1000
Filename:
MIME Type:
Creator:
Chuck Ebbert
Created:
2007-11-29 00:01:15 UTC
Size:
2.09 KB
patch
obsolete
>--- > drivers/net/e1000/e1000_main.c | 31 +++++++++++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > >--- linux-2.6.23.noarch.orig/drivers/net/e1000/e1000_main.c >+++ linux-2.6.23.noarch/drivers/net/e1000/e1000_main.c >@@ -846,6 +846,33 @@ e1000_reset(struct e1000_adapter *adapte > e1000_release_manageability(adapter); > } > >+static void e1000e_disable_l1aspm(struct pci_dev *pdev) >+{ >+ int pos; >+ u32 cap; >+ u16 val; >+ >+ /* >+ * 82573 workaround - disable L1 ASPM on mobile chipsets >+ * >+ * L1 ASPM on various mobile (ich7) chipsets do not behave properly >+ * resulting in lost data or garbage information on the pci-e link >+ * level. This could result in (false) bad EEPROM checksum errors, >+ * long ping times (up to 2s) or even a system freeze/hang. >+ * >+ * Unfortunately this feature saves about 1W power consumption when >+ * active. >+ */ >+ pos = pci_find_capability(pdev, PCI_CAP_ID_EXP); >+ pci_read_config_dword(pdev, pos + PCI_EXP_LNKCAP, &cap); >+ pci_read_config_word(pdev, pos + PCI_EXP_LNKCTL, &val); >+ if (val & 0x2) { >+ dev_warn(&pdev->dev, "Disabling L1 ASPM\n"); >+ val &= ~0x2; >+ pci_write_config_word(pdev, pos + PCI_EXP_LNKCTL, val); >+ } >+} >+ > /** > * e1000_probe - Device Initialization Routine > * @pdev: PCI device information struct >@@ -872,6 +899,8 @@ e1000_probe(struct pci_dev *pdev, > int i, err, pci_using_dac; > uint16_t eeprom_data = 0; > uint16_t eeprom_apme_mask = E1000_EEPROM_APME; >+ >+ e1000e_disable_l1aspm(pdev); > if ((err = pci_enable_device(pdev))) > return err; > >@@ -5180,6 +5209,7 @@ e1000_resume(struct pci_dev *pdev) > > pci_set_power_state(pdev, PCI_D0); > pci_restore_state(pdev); >+ e1000e_disable_l1aspm(pdev); > if ((err = pci_enable_device(pdev))) { > printk(KERN_ERR "e1000: Cannot enable PCI device from suspend\n"); > return err; >@@ -5276,6 +5306,7 @@ static pci_ers_result_t e1000_io_slot_re > struct net_device *netdev = pci_get_drvdata(pdev); > struct e1000_adapter *adapter = netdev->priv; > >+ e1000e_disable_l1aspm(pdev); > if (pci_enable_device(pdev)) { > printk(KERN_ERR "e1000: Cannot re-enable PCI device after reset.\n"); > return PCI_ERS_RESULT_DISCONNECT;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 400561
: 272011