From 67f313c852f247a960a3b75eeff433ee42cd388c Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Wed, 29 Apr 2020 16:12:02 -0500 Subject: kernel-5.7.0-0.rc3.20200429git1d2cc5ac6f66.1 * Wed Apr 29 2020 CKI@GitLab [5.7.0-0.rc3.20200429git1d2cc5ac6f66.1] - 1d2cc5ac6f66 rebase - Add cec to the filter overrides ("Justin M. Forbes") - Add overrides to filter-modules.sh ("Justin M. Forbes") - Copy Makefile.rhelver as a source file rather than a patch (Jeremy Cline) - Move the sed to clear the patch templating outside of conditionals ("Justin M. Forbes") - Only include open merge requests with "Include in Releases" label (Jeremy Cline) - Exit non-zero if the tag already exists for a release (Jeremy Cline) - Adjust the changelog update script to not push anything (Jeremy Cline) - Drop --target noarch from the rh-rpms make target (Jeremy Cline) Resolves: rhbz# Signed-off-by: Justin M. Forbes --- ...vmbus-Fix-Suspend-to-Idle-for-Generation-.patch | 111 --------------------- 1 file changed, 111 deletions(-) delete mode 100644 0001-Drivers-hv-vmbus-Fix-Suspend-to-Idle-for-Generation-.patch (limited to '0001-Drivers-hv-vmbus-Fix-Suspend-to-Idle-for-Generation-.patch') diff --git a/0001-Drivers-hv-vmbus-Fix-Suspend-to-Idle-for-Generation-.patch b/0001-Drivers-hv-vmbus-Fix-Suspend-to-Idle-for-Generation-.patch deleted file mode 100644 index 29c17a375..000000000 --- a/0001-Drivers-hv-vmbus-Fix-Suspend-to-Idle-for-Generation-.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 1a06d017fb3f388734ffbe5dedee6f8c3af5f2db Mon Sep 17 00:00:00 2001 -From: Dexuan Cui -Date: Sat, 11 Apr 2020 20:50:35 -0700 -Subject: [PATCH] Drivers: hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM - -Before the hibernation patchset (e.g. f53335e3289f), in a Generation-2 -Linux VM on Hyper-V, the user can run "echo freeze > /sys/power/state" to -freeze the system, i.e. Suspend-to-Idle. The user can press the keyboard -or move the mouse to wake up the VM. - -With the hibernation patchset, Linux VM on Hyper-V can hibernate to disk, -but Suspend-to-Idle is broken: when the synthetic keyboard/mouse are -suspended, there is no way to wake up the VM. - -Fix the issue by not suspending and resuming the vmbus devices upon -Suspend-to-Idle. - -Fixes: f53335e3289f ("Drivers: hv: vmbus: Suspend/resume the vmbus itself for hibernation") -Cc: stable@vger.kernel.org -Reviewed-by: Michael Kelley -Signed-off-by: Dexuan Cui -Link: https://lore.kernel.org/r/1586663435-36243-1-git-send-email-decui@microsoft.com -Signed-off-by: Wei Liu ---- - drivers/hv/vmbus_drv.c | 43 +++++++++++++++++++++++++++++++++--------- - 1 file changed, 34 insertions(+), 9 deletions(-) - -diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c -index a68bce4d0ddb..e06c6b9555cf 100644 ---- a/drivers/hv/vmbus_drv.c -+++ b/drivers/hv/vmbus_drv.c -@@ -978,6 +978,9 @@ static int vmbus_resume(struct device *child_device) - - return drv->resume(dev); - } -+#else -+#define vmbus_suspend NULL -+#define vmbus_resume NULL - #endif /* CONFIG_PM_SLEEP */ - - /* -@@ -997,11 +1000,22 @@ static void vmbus_device_release(struct device *device) - } - - /* -- * Note: we must use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS rather than -- * SET_SYSTEM_SLEEP_PM_OPS: see the comment before vmbus_bus_pm. -+ * Note: we must use the "noirq" ops: see the comment before vmbus_bus_pm. -+ * -+ * suspend_noirq/resume_noirq are set to NULL to support Suspend-to-Idle: we -+ * shouldn't suspend the vmbus devices upon Suspend-to-Idle, otherwise there -+ * is no way to wake up a Generation-2 VM. -+ * -+ * The other 4 ops are for hibernation. - */ -+ - static const struct dev_pm_ops vmbus_pm = { -- SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(vmbus_suspend, vmbus_resume) -+ .suspend_noirq = NULL, -+ .resume_noirq = NULL, -+ .freeze_noirq = vmbus_suspend, -+ .thaw_noirq = vmbus_resume, -+ .poweroff_noirq = vmbus_suspend, -+ .restore_noirq = vmbus_resume, - }; - - /* The one and only one */ -@@ -2281,6 +2295,9 @@ static int vmbus_bus_resume(struct device *dev) - - return 0; - } -+#else -+#define vmbus_bus_suspend NULL -+#define vmbus_bus_resume NULL - #endif /* CONFIG_PM_SLEEP */ - - static const struct acpi_device_id vmbus_acpi_device_ids[] = { -@@ -2291,16 +2308,24 @@ static const struct acpi_device_id vmbus_acpi_device_ids[] = { - MODULE_DEVICE_TABLE(acpi, vmbus_acpi_device_ids); - - /* -- * Note: we must use SET_NOIRQ_SYSTEM_SLEEP_PM_OPS rather than -- * SET_SYSTEM_SLEEP_PM_OPS, otherwise NIC SR-IOV can not work, because the -- * "pci_dev_pm_ops" uses the "noirq" callbacks: in the resume path, the -- * pci "noirq" restore callback runs before "non-noirq" callbacks (see -+ * Note: we must use the "no_irq" ops, otherwise hibernation can not work with -+ * PCI device assignment, because "pci_dev_pm_ops" uses the "noirq" ops: in -+ * the resume path, the pci "noirq" restore op runs before "non-noirq" op (see - * resume_target_kernel() -> dpm_resume_start(), and hibernation_restore() -> - * dpm_resume_end()). This means vmbus_bus_resume() and the pci-hyperv's -- * resume callback must also run via the "noirq" callbacks. -+ * resume callback must also run via the "noirq" ops. -+ * -+ * Set suspend_noirq/resume_noirq to NULL for Suspend-to-Idle: see the comment -+ * earlier in this file before vmbus_pm. - */ -+ - static const struct dev_pm_ops vmbus_bus_pm = { -- SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(vmbus_bus_suspend, vmbus_bus_resume) -+ .suspend_noirq = NULL, -+ .resume_noirq = NULL, -+ .freeze_noirq = vmbus_bus_suspend, -+ .thaw_noirq = vmbus_bus_resume, -+ .poweroff_noirq = vmbus_bus_suspend, -+ .restore_noirq = vmbus_bus_resume - }; - - static struct acpi_driver vmbus_acpi_driver = { --- -2.26.2 - -- cgit