summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Shtylylov <sshtylyov@ru.mvista.com>2006-07-26 00:53:53 +0400
committerJeff Garzik <jeff@garzik.org>2006-08-04 01:29:59 +0400
commit817acf5ebd9ea21f134fc90064b0f6686c5b169d (patch)
tree5573d1c3243111b45f7563d2e2f098dec15c4f10
parent75c30b1368faaa9c740536b91a15a33aab62f30b (diff)
downloadlinux-817acf5ebd9ea21f134fc90064b0f6686c5b169d.tar.xz
[PATCH] Stop calling phy_stop_interrupts() twice
Prevent phylib from freeing PHY IRQ twice on closing an eth device: phy_disconnect() first calls phy_stop_interrupts(), then it calls phy_stop_machine() which in turn calls phy_stop_interrupts() making the kernel complain on each bootup... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
-rw-r--r--drivers/net/phy/phy.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 7d5c2233c252..f5aad77288f9 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -419,9 +419,8 @@ void phy_start_machine(struct phy_device *phydev,
/* phy_stop_machine
*
- * description: Stops the state machine timer, sets the state to
- * UP (unless it wasn't up yet), and then frees the interrupt,
- * if it is in use. This function must be called BEFORE
+ * description: Stops the state machine timer, sets the state to UP
+ * (unless it wasn't up yet). This function must be called BEFORE
* phy_detach.
*/
void phy_stop_machine(struct phy_device *phydev)
@@ -433,9 +432,6 @@ void phy_stop_machine(struct phy_device *phydev)
phydev->state = PHY_UP;
spin_unlock(&phydev->lock);
- if (phydev->irq != PHY_POLL)
- phy_stop_interrupts(phydev);
-
phydev->adjust_state = NULL;
}