diff mbox

e1000e: fix warn_on reload after phy_id error

Message ID 20081108002739.17508.60954.stgit@gitlost.lost
State Accepted, archived
Delegated to: Jeff Garzik
Headers show

Commit Message

Kirsher, Jeffrey T Nov. 8, 2008, 12:27 a.m. UTC
If the driver fails to initialize the first time due to the failure in the
phy_id check the kernel triggers a warn_on on the second try to load the
driver because the driver did not free the msi/x resources in the first
load because of the previous failure in phy_id check.
---

 drivers/net/e1000e/netdev.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Jeff Garzik Nov. 11, 2008, 8:31 a.m. UTC | #1
Jeff Kirsher wrote:
> If the driver fails to initialize the first time due to the failure in the
> phy_id check the kernel triggers a warn_on on the second try to load the
> driver because the driver did not free the msi/x resources in the first
> load because of the previous failure in phy_id check.

Is that all one sentence?  Can I buy a comma or semi-colon, Pat?  :)

More seriously, this description is not very helpful.  A good 
description precisely outlines the _solution_ ("fix msi/x resource 
leak"), perhaps with a bit of concise problem description ("failure to 
free msi/x resources").

Your description focuses mostly on what the user/tester experiences and 
observes, whereas in a changeset description the most important thing to 
communicate is to describe the engineering change to the driver (proper 
release of resources).

	Jeff




--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 2c8dffd..f6ebebb 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -5009,6 +5009,7 @@  err_hw_init:
 err_sw_init:
 	if (adapter->hw.flash_address)
 		iounmap(adapter->hw.flash_address);
+	e1000e_reset_interrupt_capability(adapter);
 err_flashmap:
 	iounmap(adapter->hw.hw_addr);
 err_ioremap: