From 2beb4cc7642631c04db20b5407dbff1e17f1e85b Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 10 Dec 2020 17:47:17 +0100 Subject: [PATCH] drop queue-5.4/s390-pci-fix-cpu-address-in-msi-for-directed-irq.patch --- ...-cpu-address-in-msi-for-directed-irq.patch | 72 ------------------- queue-5.4/series | 1 - 2 files changed, 73 deletions(-) delete mode 100644 queue-5.4/s390-pci-fix-cpu-address-in-msi-for-directed-irq.patch diff --git a/queue-5.4/s390-pci-fix-cpu-address-in-msi-for-directed-irq.patch b/queue-5.4/s390-pci-fix-cpu-address-in-msi-for-directed-irq.patch deleted file mode 100644 index e61f689443b..00000000000 --- a/queue-5.4/s390-pci-fix-cpu-address-in-msi-for-directed-irq.patch +++ /dev/null @@ -1,72 +0,0 @@ -From a2bd4097b3ec242f4de4924db463a9c94530e03a Mon Sep 17 00:00:00 2001 -From: Alexander Gordeev -Date: Thu, 26 Nov 2020 18:00:37 +0100 -Subject: s390/pci: fix CPU address in MSI for directed IRQ - -From: Alexander Gordeev - -commit a2bd4097b3ec242f4de4924db463a9c94530e03a upstream. - -The directed MSIs are delivered to CPUs whose address is -written to the MSI message address. The current code assumes -that a CPU logical number (as it is seen by the kernel) -is also the CPU address. - -The above assumption is not correct, as the CPU address -is rather the value returned by STAP instruction. That -value does not necessarily match the kernel logical CPU -number. - -Fixes: e979ce7bced2 ("s390/pci: provide support for CPU directed interrupts") -Cc: # v5.2+ -Signed-off-by: Alexander Gordeev -Reviewed-by: Halil Pasic -Reviewed-by: Niklas Schnelle -Signed-off-by: Niklas Schnelle -Signed-off-by: Heiko Carstens -Signed-off-by: Greg Kroah-Hartman - ---- - arch/s390/pci/pci_irq.c | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - ---- a/arch/s390/pci/pci_irq.c -+++ b/arch/s390/pci/pci_irq.c -@@ -103,9 +103,10 @@ static int zpci_set_irq_affinity(struct - { - struct msi_desc *entry = irq_get_msi_desc(data->irq); - struct msi_msg msg = entry->msg; -+ int cpu_addr = smp_cpu_get_cpu_address(cpumask_first(dest)); - - msg.address_lo &= 0xff0000ff; -- msg.address_lo |= (cpumask_first(dest) << 8); -+ msg.address_lo |= (cpu_addr << 8); - pci_write_msi_msg(data->irq, &msg); - - return IRQ_SET_MASK_OK; -@@ -238,6 +239,7 @@ int arch_setup_msi_irqs(struct pci_dev * - unsigned long bit; - struct msi_desc *msi; - struct msi_msg msg; -+ int cpu_addr; - int rc, irq; - - zdev->aisb = -1UL; -@@ -287,9 +289,15 @@ int arch_setup_msi_irqs(struct pci_dev * - handle_percpu_irq); - msg.data = hwirq - bit; - if (irq_delivery == DIRECTED) { -+ if (msi->affinity) -+ cpu = cpumask_first(&msi->affinity->mask); -+ else -+ cpu = 0; -+ cpu_addr = smp_cpu_get_cpu_address(cpu); -+ - msg.address_lo = zdev->msi_addr & 0xff0000ff; -- msg.address_lo |= msi->affinity ? -- (cpumask_first(&msi->affinity->mask) << 8) : 0; -+ msg.address_lo |= (cpu_addr << 8); -+ - for_each_possible_cpu(cpu) { - airq_iv_set_data(zpci_ibv[cpu], hwirq, irq); - } diff --git a/queue-5.4/series b/queue-5.4/series index 5519666f40c..9d06ae15f17 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -18,7 +18,6 @@ alsa-hda-generic-add-option-to-enforce-preferred_dacs-pairs.patch ftrace-fix-updating-ftrace_fl_tramp.patch cifs-allow-syscalls-to-be-restarted-in-__smb_send_rqst.patch cifs-fix-potential-use-after-free-in-cifs_echo_request.patch -s390-pci-fix-cpu-address-in-msi-for-directed-irq.patch i2c-imx-don-t-generate-stop-condition-if-arbitration-has-been-lost.patch thunderbolt-fix-use-after-free-in-remove_unplugged_switch.patch drm-i915-gt-program-mocs-63-for-cache-eviction-on-gen9.patch -- 2.47.3