From: Mario Limonciello <[email protected]>

If a device resume returns -EBUSY the device resume sequence has
been skipped. Don't show errors for this or pass it up to async
resume.  If resume is run again in another stage the device should
try again.

Cc: Muhammad Usama Anjum <[email protected]>
Signed-off-by: Mario Limonciello (AMD) <[email protected]>
---
 drivers/base/power/main.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index bf9c3d79c455f..f6bc7ef9a8371 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1112,7 +1112,9 @@ static void device_resume(struct device *dev, 
pm_message_t state, bool async)
 
        TRACE_RESUME(error);
 
-       if (error) {
+       if (error == -EBUSY)
+               pm_dev_dbg(dev, state, async ? " async" : "");
+       else if (error) {
                WRITE_ONCE(async_error, error);
                dpm_save_failed_dev(dev_name(dev));
                pm_dev_err(dev, state, async ? " async" : "", error);
-- 
2.43.0

Reply via email to