aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/phy/phy.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index c14f14741b3f..984c0b5ba174 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -439,7 +439,7 @@ void phy_start_machine(struct phy_device *phydev,
439{ 439{
440 phydev->adjust_state = handler; 440 phydev->adjust_state = handler;
441 441
442 schedule_delayed_work(&phydev->state_queue, HZ); 442 queue_delayed_work(system_power_efficient_wq, &phydev->state_queue, HZ);
443} 443}
444 444
445/** 445/**
@@ -500,7 +500,7 @@ static irqreturn_t phy_interrupt(int irq, void *phy_dat)
500 disable_irq_nosync(irq); 500 disable_irq_nosync(irq);
501 atomic_inc(&phydev->irq_disable); 501 atomic_inc(&phydev->irq_disable);
502 502
503 schedule_work(&phydev->phy_queue); 503 queue_work(system_power_efficient_wq, &phydev->phy_queue);
504 504
505 return IRQ_HANDLED; 505 return IRQ_HANDLED;
506} 506}
@@ -655,7 +655,7 @@ static void phy_change(struct work_struct *work)
655 655
656 /* reschedule state queue work to run as soon as possible */ 656 /* reschedule state queue work to run as soon as possible */
657 cancel_delayed_work_sync(&phydev->state_queue); 657 cancel_delayed_work_sync(&phydev->state_queue);
658 schedule_delayed_work(&phydev->state_queue, 0); 658 queue_delayed_work(system_power_efficient_wq, &phydev->state_queue, 0);
659 659
660 return; 660 return;
661 661
@@ -918,7 +918,8 @@ void phy_state_machine(struct work_struct *work)
918 if (err < 0) 918 if (err < 0)
919 phy_error(phydev); 919 phy_error(phydev);
920 920
921 schedule_delayed_work(&phydev->state_queue, PHY_STATE_TIME * HZ); 921 queue_delayed_work(system_power_efficient_wq, &phydev->state_queue,
922 PHY_STATE_TIME * HZ);
922} 923}
923 924
924static inline void mmd_phy_indirect(struct mii_bus *bus, int prtad, int devad, 925static inline void mmd_phy_indirect(struct mii_bus *bus, int prtad, int devad,