Stop calling phy_stop_interrupts() twice
Subsystems (3)
PATCH 1/1 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 <[email protected]>
drivers/net/phy/phy.c +2 -6
@@ -419,9 +419,8 @@ void phy_start_machine(struct phy_device/* 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->state =PHY_UP ;spin_unlock (&phydev->lock); -if (phydev->irq !=PHY_POLL ) -phy_stop_interrupts (phydev); - phydev->adjust_state =NULL ; }
Jeff Garzik
Appliedapplied