Skip to content

Commit

Permalink
[PATCH] Stop calling phy_stop_interrupts() twice
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Sergei Shtylylov authored and Jeff Garzik committed Aug 3, 2006
1 parent 75c30b1 commit 817acf5
Showing 1 changed file with 2 additions and 6 deletions.
8 changes: 2 additions & 6 deletions drivers/net/phy/phy.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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;
}

Expand Down

0 comments on commit 817acf5

Please sign in to comment.