mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
[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>
This commit is contained in:
parent
75c30b1368
commit
817acf5ebd
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user