mirror of
https://github.com/torvalds/linux.git
synced 2026-09-25 21:21:09 -04:00
phy: usb: s2 WoL wakeup_count not incremented for USB->Eth devices
The PHY's "wakeup_count" is not incrementing when waking from
WoL. The wakeup count can be found in sysfs at:
/sys/bus/platform/devices/rdb/*.usb-phy/power/wakeup_count.
The problem is that the system wakup event handler was being passed
the wrong "device" by the PHY driver.
Fixes: f1c0db40a3 ("phy: usb: Add "wake on" functionality")
Signed-off-by: Al Cooper <[email protected]>
Signed-off-by: Justin Chen <[email protected]>
Acked-by: Florian Fainelli <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Vinod Koul <[email protected]>
This commit is contained in:
@@ -102,9 +102,9 @@ static int brcm_pm_notifier(struct notifier_block *notifier,
|
||||
|
||||
static irqreturn_t brcm_usb_phy_wake_isr(int irq, void *dev_id)
|
||||
{
|
||||
struct phy *gphy = dev_id;
|
||||
struct device *dev = dev_id;
|
||||
|
||||
pm_wakeup_event(&gphy->dev, 0);
|
||||
pm_wakeup_event(dev, 0);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
@@ -452,7 +452,7 @@ static int brcm_usb_phy_dvr_init(struct platform_device *pdev,
|
||||
if (priv->wake_irq >= 0) {
|
||||
err = devm_request_irq(dev, priv->wake_irq,
|
||||
brcm_usb_phy_wake_isr, 0,
|
||||
dev_name(dev), gphy);
|
||||
dev_name(dev), dev);
|
||||
if (err < 0)
|
||||
return err;
|
||||
device_set_wakeup_capable(dev, 1);
|
||||
|
||||
Reference in New Issue
Block a user