diff options
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | 0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch | 99 | ||||
-rw-r--r-- | PKGBUILD | 7 |
3 files changed, 5 insertions, 105 deletions
@@ -1,6 +1,6 @@ pkgbase = linux-rc pkgver = 5.4.13rc1 - pkgrel = 1 + pkgrel = 2 url = https://www.kernel.org/ arch = x86_64 license = GPL2 @@ -17,7 +17,6 @@ pkgbase = linux-rc source = 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch source = 0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch source = 0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch - source = 0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch source = 0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch source = 0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch source = 0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch @@ -38,7 +37,6 @@ pkgbase = linux-rc sha256sums = 9c507bdb0062b5b54c6969f7da9ec18b259e06cd26dbe900cfe79a7ffb2713ee sha256sums = 0ee10a8bce75e243f20dcae2bf627325a65b0a725fc4af70b585e170a4c5b984 sha256sums = 1bc6c7503d5e30196ccb2210bbd9d17d73c245afa82a671d4ccf14796047cca6 - sha256sums = 4dddac706c4983bd9ddd67aafc08d4b17d0cd9d929be14d92586dfacdb0f37fb sha256sums = 66a5cdff9a5a83d4f691f38b18a06bf373c32be9200ca8708eddde560fc8f33d sha256sums = 4073da89517a8e25ceb63c686c0f4b5a3988ad91d4bfa7977a508e6f41dd56da sha256sums = d32cca150a2ccb9e5b144769e75ef7a7b851f3cd4a8357c1cd8e6a9f5eac6f31 diff --git a/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch b/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch deleted file mode 100644 index acf4474d77b4..000000000000 --- a/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch +++ /dev/null @@ -1,99 +0,0 @@ -From ea5b8c60cd739ed3166d8c0f0cba6df6f57d271f Mon Sep 17 00:00:00 2001 -From: Mika Westerberg <mika.westerberg@linux.intel.com> -Date: Tue, 29 Oct 2019 20:00:21 +0300 -Subject: [PATCH 04/15] PCI: pciehp: Do not disable interrupt twice on suspend - -We try to keep PCIe hotplug ports runtime suspended when entering system -suspend. Because the PCIe portdrv sets the DPM_FLAG_NEVER_SKIP flag, the PM -core always calls system suspend/resume hooks even if the device is left -runtime suspended. Since PCIe hotplug driver re-used the same function for -both runtime suspend and system suspend, it ended up disabling hotplug -interrupt twice and the second time following was printed: - - pciehp 0000:03:01.0:pcie204: pcie_do_write_cmd: no response from device - -Prevent this from happening by checking whether the device is already -runtime suspended when the system suspend hook is called. - -Fixes: 9c62f0bfb832 ("PCI: pciehp: Implement runtime PM callbacks") -Link: https://lore.kernel.org/r/20191029170022.57528-1-mika.westerberg@linux.intel.com -Reported-by: Kai-Heng Feng <kai.heng.feng@canonical.com> -Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com> -Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> -Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> -Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> ---- - drivers/pci/hotplug/pciehp_core.c | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c -index b3122c151b80..56daad828c9e 100644 ---- a/drivers/pci/hotplug/pciehp_core.c -+++ b/drivers/pci/hotplug/pciehp_core.c -@@ -253,7 +253,7 @@ static bool pme_is_native(struct pcie_device *dev) - return pcie_ports_native || host->native_pme; - } - --static int pciehp_suspend(struct pcie_device *dev) -+static void pciehp_disable_interrupt(struct pcie_device *dev) - { - /* - * Disable hotplug interrupt so that it does not trigger -@@ -261,7 +261,19 @@ static int pciehp_suspend(struct pcie_device *dev) - */ - if (pme_is_native(dev)) - pcie_disable_interrupt(get_service_data(dev)); -+} - -+#ifdef CONFIG_PM_SLEEP -+static int pciehp_suspend(struct pcie_device *dev) -+{ -+ /* -+ * If the port is already runtime suspended we can keep it that -+ * way. -+ */ -+ if (dev_pm_smart_suspend_and_suspended(&dev->port->dev)) -+ return 0; -+ -+ pciehp_disable_interrupt(dev); - return 0; - } - -@@ -279,6 +291,7 @@ static int pciehp_resume_noirq(struct pcie_device *dev) - - return 0; - } -+#endif - - static int pciehp_resume(struct pcie_device *dev) - { -@@ -292,6 +305,12 @@ static int pciehp_resume(struct pcie_device *dev) - return 0; - } - -+static int pciehp_runtime_suspend(struct pcie_device *dev) -+{ -+ pciehp_disable_interrupt(dev); -+ return 0; -+} -+ - static int pciehp_runtime_resume(struct pcie_device *dev) - { - struct controller *ctrl = get_service_data(dev); -@@ -318,10 +337,12 @@ static struct pcie_port_service_driver hpdriver_portdrv = { - .remove = pciehp_remove, - - #ifdef CONFIG_PM -+#ifdef CONFIG_PM_SLEEP - .suspend = pciehp_suspend, - .resume_noirq = pciehp_resume_noirq, - .resume = pciehp_resume, -- .runtime_suspend = pciehp_suspend, -+#endif -+ .runtime_suspend = pciehp_runtime_suspend, - .runtime_resume = pciehp_runtime_resume, - #endif /* PM */ - }; --- -2.25.0 - @@ -2,7 +2,7 @@ # Contributorr: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> pkgbase=linux-rc -pkgrel=1 +pkgrel=2 _srcname=linux-5.4 _major=5.4 ### on initial release this is null otherwise it is the current stable subversion @@ -33,7 +33,6 @@ source=( 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch 0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch 0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch -0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch 0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch 0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch 0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch @@ -57,7 +56,6 @@ sha256sums=('9bae8b2f674152e4d126a505d1e89958b5de735791ebb7d321e436ff767990f3' '9c507bdb0062b5b54c6969f7da9ec18b259e06cd26dbe900cfe79a7ffb2713ee' '0ee10a8bce75e243f20dcae2bf627325a65b0a725fc4af70b585e170a4c5b984' '1bc6c7503d5e30196ccb2210bbd9d17d73c245afa82a671d4ccf14796047cca6' - '4dddac706c4983bd9ddd67aafc08d4b17d0cd9d929be14d92586dfacdb0f37fb' '66a5cdff9a5a83d4f691f38b18a06bf373c32be9200ca8708eddde560fc8f33d' '4073da89517a8e25ceb63c686c0f4b5a3988ad91d4bfa7977a508e6f41dd56da' 'd32cca150a2ccb9e5b144769e75ef7a7b851f3cd4a8357c1cd8e6a9f5eac6f31' @@ -83,6 +81,9 @@ prepare() { echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname + msg2 "Applying $_rcpatch..." + patch -Np1 <"../$_rcpatch" + local src for src in "${source[@]}"; do src="${src%%::*}" |