diff --git a/[refs] b/[refs] index 500286b37031..d244576bd6c6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 51e2a3846eab18711f4eb59cd0a4c33054e2980a +refs/heads/master: 0acb28396728f42b6b1553c85d27c37513796043 diff --git a/trunk/drivers/net/phy/phy.c b/trunk/drivers/net/phy/phy.c index 0433fcd00943..20cc82c78137 100644 --- a/trunk/drivers/net/phy/phy.c +++ b/trunk/drivers/net/phy/phy.c @@ -729,6 +729,12 @@ static void phy_change(struct work_struct *work) if (err) goto irq_enable_err; + /* Stop timer and run the state queue now. The work function for + * state_queue will start the timer up again. + */ + del_timer(&phydev->phy_timer); + schedule_work(&phydev->state_queue); + return; irq_enable_err: