Merge tag 'v4.9.235' into khadas-vims-4.9.y
authorNick Xie <nick@khadas.com>
Sat, 7 Nov 2020 02:27:34 +0000 (10:27 +0800)
committerNick Xie <nick@khadas.com>
Sat, 7 Nov 2020 02:27:34 +0000 (10:27 +0800)
This is the 4.9.235 stable release

1  2 
Makefile
drivers/base/power/main.c
drivers/md/dm-table.c
drivers/scsi/ufs/ufshcd.c
drivers/usb/core/quirks.c
drivers/usb/host/xhci-hub.c
drivers/video/console/fbcon.c
fs/ext4/super.c
fs/fs-writeback.c
include/linux/fs.h
net/ipv6/ip6_tunnel.c

diff --cc Makefile
Simple merge
@@@ -1368,18 -1366,19 +1368,22 @@@ static int __device_suspend(struct devi
        }
  
        /*
-        * If a device configured to wake up the system from sleep states
-        * has been suspended at run time and there's a resume request pending
-        * for it, this is equivalent to the device signaling wakeup, so the
-        * system suspend operation should be aborted.
+        * Wait for possible runtime PM transitions of the device in progress
+        * to complete and if there's a runtime resume request pending for it,
+        * resume it before proceeding with invoking the system-wide suspend
+        * callbacks for it.
+        *
+        * If the system-wide suspend callbacks below change the configuration
+        * of the device, they must disable runtime PM for it or otherwise
+        * ensure that its runtime-resume callbacks will not be confused by that
+        * change in case they are invoked going forward.
         */
-       if (pm_runtime_barrier(dev) && device_may_wakeup(dev))
-               pm_wakeup_event(dev, 0);
+       pm_runtime_barrier(dev);
  
        if (pm_wakeup_pending()) {
 +              pm_get_active_wakeup_sources(suspend_abort,
 +                      MAX_SUSPEND_ABORT_LEN);
 +              log_suspend_abort_reason(suspend_abort);
                dev->power.direct_complete = false;
                async_error = -EBUSY;
                goto Complete;
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc fs/ext4/super.c
Simple merge
Simple merge
Simple merge
Simple merge