rpms/kernel/F-8 linux-2.6-netdev-e1000e-fix-drv-load-issues-amt.patch, NONE, 1.1 kernel.spec, 1.529, 1.530
Chuck Ebbert
cebbert at fedoraproject.org
Sat Sep 13 07:24:27 UTC 2008
Author: cebbert
Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11888
Modified Files:
kernel.spec
Added Files:
linux-2.6-netdev-e1000e-fix-drv-load-issues-amt.patch
Log Message:
Fix problems with AMT on e1000e (F9#453023)
linux-2.6-netdev-e1000e-fix-drv-load-issues-amt.patch:
--- NEW FILE linux-2.6-netdev-e1000e-fix-drv-load-issues-amt.patch ---
From: Jesse Brandeburg <jesse.brandeburg at intel.com>
Date: Tue, 5 Aug 2008 00:21:40 +0000 (-0700)
Subject: e1000e: fix drv load issues
X-Git-Tag: v2.6.27-rc3~69^2~13^2~46
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=c43bc57e5d72932b5e64bc5e4e7741bedbcaaf5f
e1000e: fix drv load issues
a few people seem to have problems maintaining gigabit link
and it was root caused to an interaction between the managability
firmware on the host and the driver, not communicating.
The form of communication they use is the drv_load bit.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg at intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher at intel.com>
Signed-off-by: Jeff Garzik <jgarzik at redhat.com>
---
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 589e542..18f076c 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -2444,7 +2444,7 @@ void e1000e_reset(struct e1000_adapter *adapter)
* For parts with AMT enabled, let the firmware know
* that the network interface is in control
*/
- if ((adapter->flags & FLAG_HAS_AMT) && e1000e_check_mng_mode(hw))
+ if (adapter->flags & FLAG_HAS_AMT)
e1000_get_hw_control(adapter);
ew32(WUC, 0);
@@ -2634,8 +2634,7 @@ static int e1000_open(struct net_device *netdev)
* If AMT is enabled, let the firmware know that the network
* interface is now open
*/
- if ((adapter->flags & FLAG_HAS_AMT) &&
- e1000e_check_mng_mode(&adapter->hw))
+ if (adapter->flags & FLAG_HAS_AMT)
e1000_get_hw_control(adapter);
/*
@@ -2713,8 +2712,7 @@ static int e1000_close(struct net_device *netdev)
* If AMT is enabled, let the firmware know that the network
* interface is now closed
*/
- if ((adapter->flags & FLAG_HAS_AMT) &&
- e1000e_check_mng_mode(&adapter->hw))
+ if (adapter->flags & FLAG_HAS_AMT)
e1000_release_hw_control(adapter);
return 0;
@@ -4030,7 +4028,7 @@ static int e1000_resume(struct pci_dev *pdev)
* is up. For all other cases, let the f/w know that the h/w is now
* under the control of the driver.
*/
- if (!(adapter->flags & FLAG_HAS_AMT) || !e1000e_check_mng_mode(&adapter->hw))
+ if (!(adapter->flags & FLAG_HAS_AMT))
e1000_get_hw_control(adapter);
return 0;
@@ -4149,8 +4147,7 @@ static void e1000_io_resume(struct pci_dev *pdev)
* is up. For all other cases, let the f/w know that the h/w is now
* under the control of the driver.
*/
- if (!(adapter->flags & FLAG_HAS_AMT) ||
- !e1000e_check_mng_mode(&adapter->hw))
+ if (!(adapter->flags & FLAG_HAS_AMT))
e1000_get_hw_control(adapter);
}
@@ -4505,8 +4502,7 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
* is up. For all other cases, let the f/w know that the h/w is now
* under the control of the driver.
*/
- if (!(adapter->flags & FLAG_HAS_AMT) ||
- !e1000e_check_mng_mode(&adapter->hw))
+ if (!(adapter->flags & FLAG_HAS_AMT))
e1000_get_hw_control(adapter);
/* tell the stack to leave us alone until e1000_open() is called */
@@ -4523,19 +4519,19 @@ static int __devinit e1000_probe(struct pci_dev *pdev,
return 0;
err_register:
-err_hw_init:
- e1000_release_hw_control(adapter);
+ if (!(adapter->flags & FLAG_HAS_AMT))
+ e1000_release_hw_control(adapter);
err_eeprom:
if (!e1000_check_reset_block(&adapter->hw))
e1000_phy_hw_reset(&adapter->hw);
+err_hw_init:
- if (adapter->hw.flash_address)
- iounmap(adapter->hw.flash_address);
-
-err_flashmap:
kfree(adapter->tx_ring);
kfree(adapter->rx_ring);
err_sw_init:
+ if (adapter->hw.flash_address)
+ iounmap(adapter->hw.flash_address);
+err_flashmap:
iounmap(adapter->hw.hw_addr);
err_ioremap:
free_netdev(netdev);
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.529
retrieving revision 1.530
diff -u -r1.529 -r1.530
--- kernel.spec 11 Sep 2008 06:53:04 -0000 1.529
+++ kernel.spec 13 Sep 2008 07:23:57 -0000 1.530
@@ -658,6 +658,7 @@
Patch726: linux-2.6-netdev-atl1e.patch
Patch727: linux-2.6-e1000-ich9.patch
Patch728: linux-2.6-netdev-e1000e-add-support-for-82567lm-4.patch
+Patch729: linux-2.6-netdev-e1000e-fix-drv-load-issues-amt.patch
#ACPI
Patch800: linux-2.6-acpi-processor-use-signed-int.patch
@@ -1829,6 +1830,9 @@
%changelog
+* Sat Sep 13 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.26.5-20
+- Fix problems with AMT on e1000e (F9#453023)
+
* Thu Sep 11 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.26.5-19
- Don't use ahci driver for marvell controllers. (F9#455833)
More information about the fedora-extras-commits
mailing list