Patch "phy: usb: s2 WoL wakeup_count not incremented for USB->Eth devices" has been added to the 6.0-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    phy: usb: s2 WoL wakeup_count not incremented for USB->Eth devices

to the 6.0-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     phy-usb-s2-wol-wakeup_count-not-incremented-for-usb-.patch
and it can be found in the queue-6.0 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 0c00bab02de9f2adc40cd00b18c137c589e21249
Author: Al Cooper <alcooperx@xxxxxxxxx>
Date:   Wed Oct 5 14:30:14 2022 -0700

    phy: usb: s2 WoL wakeup_count not incremented for USB->Eth devices
    
    [ Upstream commit f7fc5b7090372fc4dd7798c874635ca41b8ba733 ]
    
    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: f1c0db40a3ad ("phy: usb: Add "wake on" functionality")
    Signed-off-by: Al Cooper <alcooperx@xxxxxxxxx>
    Signed-off-by: Justin Chen <justinpopo6@xxxxxxxxx>
    Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx>
    Link: https://lore.kernel.org/r/1665005418-15807-3-git-send-email-justinpopo6@xxxxxxxxx
    Signed-off-by: Vinod Koul <vkoul@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/phy/broadcom/phy-brcm-usb.c b/drivers/phy/broadcom/phy-brcm-usb.c
index 2cb3779fcdf8..c0c3ab9b2a15 100644
--- a/drivers/phy/broadcom/phy-brcm-usb.c
+++ b/drivers/phy/broadcom/phy-brcm-usb.c
@@ -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;
 }
@@ -451,7 +451,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);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux