Farhan Ali
b45873c3f0
s390/pci: Restore IRQ unconditionally for the zPCI device
...
Commit c1e18c17bd ("s390/pci: add zpci_set_irq()/zpci_clear_irq()"),
introduced the zpci_set_irq() and zpci_clear_irq(), to be used while
resetting a zPCI device.
Commit da995d538d ("s390/pci: implement reset_slot for hotplug
slot"), mentions zpci_clear_irq() being called in the path for
zpci_hot_reset_device(). But that is not the case anymore and these
functions are not called outside of this file. Instead
zpci_hot_reset_device() relies on zpci_disable_device() also clearing
the IRQs, but misses to reset the zdev->irqs_registered flag.
However after a CLP disable/enable reset, the device's IRQ are
unregistered, but the flag zdev->irq_registered does not get cleared. It
creates an inconsistent state and so arch_restore_msi_irqs() doesn't
correctly restore the device's IRQ. This becomes a problem when a PCI
driver tries to restore the state of the device through
pci_restore_state(). Restore IRQ unconditionally for the device and remove
the irq_registered flag as its redundant.
Fixes: c1e18c17bd ("s390/pci: add zpci_set_irq()/zpci_clear_irq()")
Cc: stable@vger.kernnel.org
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com >
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com >
Signed-off-by: Farhan Ali <alifm@linux.ibm.com >
Signed-off-by: Heiko Carstens <hca@linux.ibm.com >
2025-10-24 15:25:43 +02:00
..
2024-08-29 22:56:35 +02:00
2025-07-21 12:41:55 +02:00
2025-03-04 17:18:05 +01:00
2024-02-12 15:03:33 +01:00
2023-08-30 11:03:28 +02:00
2025-06-16 16:23:02 +02:00
2025-09-29 13:52:08 +02:00
2025-03-04 17:18:07 +01:00
2024-09-07 17:12:42 +02:00
2022-08-02 17:31:35 -07:00
2025-04-14 11:23:21 +02:00
2025-06-16 16:23:02 +02:00
2025-03-04 17:18:03 +01:00
2024-04-17 13:38:03 +02:00
2025-01-26 17:24:04 +01:00
2025-09-29 13:52:08 +02:00
2024-12-15 16:19:03 +01:00
2025-09-29 13:52:08 +02:00
2025-10-09 10:51:43 -07:00
2025-01-26 17:24:02 +01:00
2024-02-14 13:50:53 +01:00
2020-10-25 14:51:49 -07:00
2024-07-03 15:16:54 +02:00
2022-02-17 07:00:39 -06:00
2025-09-29 13:52:08 +02:00
2024-04-09 17:29:55 +02:00
2024-03-13 09:23:46 +01:00
2020-08-26 18:47:21 +02:00
2020-09-14 10:30:07 +02:00
2025-09-29 13:52:08 +02:00
2023-05-17 15:20:17 +02:00
2025-09-29 13:52:08 +02:00
2025-06-16 16:23:02 +02:00
2025-03-18 17:13:51 +01:00
2025-06-16 16:23:02 +02:00
2025-04-16 09:26:49 +02:00
2023-02-09 20:11:23 +01:00
2022-02-06 23:31:29 +01:00
2025-01-03 11:00:53 +01:00
2025-09-29 13:52:08 +02:00
2025-03-18 17:13:04 +01:00
2024-07-10 19:50:45 +02:00
2024-12-16 16:14:27 +01:00
2020-12-16 14:55:49 +01:00
2025-04-16 09:26:49 +02:00
2025-03-18 17:13:51 +01:00
2024-03-13 09:23:49 +01:00
2023-09-05 20:12:51 +02:00
2025-06-16 16:23:02 +02:00
2024-03-13 09:23:46 +01:00
2025-01-13 09:50:18 +01:00
2025-03-18 17:13:05 +01:00
2025-07-21 13:01:03 +00:00
2022-03-08 00:33:00 +01:00
2025-06-16 16:23:02 +02:00
2024-10-10 15:32:43 +02:00
2023-10-23 18:21:22 +02:00
2024-03-13 09:23:46 +01:00
2024-12-26 10:50:05 -05:00
2025-06-16 16:23:02 +02:00
2025-09-29 13:52:08 +02:00
2024-02-16 14:30:17 +01:00
2025-03-04 17:18:07 +01:00
2025-06-16 16:23:02 +02:00
2021-08-03 14:31:40 +02:00
2025-04-14 11:23:21 +02:00
2025-05-28 17:48:04 +02:00
2025-05-28 17:48:04 +02:00
2024-06-18 17:01:33 +02:00
2024-08-29 22:56:35 +02:00
2025-09-13 16:55:07 -07:00
2020-03-11 14:18:44 +01:00
2024-03-13 09:23:47 +01:00
2023-02-15 11:07:01 +01:00
2025-04-01 09:29:18 -07:00
2022-12-06 16:18:22 +01:00
2023-11-23 11:32:29 +01:00
2025-06-16 16:23:02 +02:00
2024-07-03 19:30:25 -07:00
2025-06-16 16:23:02 +02:00
2023-03-20 11:02:51 +01:00
2024-09-03 21:15:28 -07:00
2021-10-20 13:09:47 -05:00
2024-10-25 16:03:23 +02:00
2025-03-18 17:13:05 +01:00
2024-07-23 16:01:51 +02:00
2023-11-10 19:59:05 +09:00
2025-03-31 12:20:39 +02:00
2025-09-30 13:38:06 -04:00
2025-09-29 13:52:08 +02:00
2023-03-20 11:12:46 +01:00
2025-06-16 16:23:02 +02:00
2023-08-16 15:13:02 +02:00
2025-06-16 16:23:02 +02:00
2025-04-09 12:12:41 +02:00
2025-06-16 16:23:02 +02:00
2025-04-14 11:23:21 +02:00
2025-03-18 17:13:05 +01:00
2024-09-13 17:28:36 +02:00
2023-01-11 16:27:23 -04:00
2025-06-16 16:23:02 +02:00
2025-06-16 16:23:02 +02:00
2025-06-17 18:18:02 +02:00
2020-02-27 16:02:21 +01:00
2024-04-29 17:33:29 +02:00
2024-12-15 16:19:04 +01:00
2025-06-29 13:21:16 +02:00
2024-11-13 14:31:32 +01:00
2025-02-21 12:01:57 +01:00
2022-04-25 13:54:15 +02:00
2025-04-17 16:43:12 +02:00
2025-09-05 15:11:09 +02:00
2024-10-16 11:33:06 +02:00
2025-10-24 15:25:43 +02:00
2025-09-29 13:52:08 +02:00
2024-11-19 13:34:06 -08:00
2023-07-29 14:57:18 +02:00
2025-09-25 14:28:58 +02:00
2025-09-30 13:09:20 -04:00
2025-01-26 17:24:02 +01:00
2025-04-30 11:34:03 +02:00
2024-12-15 16:19:03 +01:00
2025-09-29 13:52:08 +02:00
2025-07-29 20:17:08 -07:00
2025-06-16 16:23:02 +02:00
2024-03-13 09:23:46 +01:00
2024-07-23 15:54:58 +02:00
2025-09-29 13:52:08 +02:00
2025-06-16 16:23:02 +02:00
2024-03-13 09:23:46 +01:00
2020-11-20 11:16:35 -08:00
2023-08-30 11:03:27 +02:00
2024-11-23 09:58:07 -08:00
2025-06-26 15:30:51 +02:00
2025-06-16 16:23:02 +02:00
2025-06-29 13:12:02 +02:00
2025-03-18 17:13:04 +01:00
2024-06-18 17:01:33 +02:00
2024-11-07 10:33:44 +01:00
2024-11-11 17:17:04 -08:00
2025-09-29 13:52:08 +02:00
2025-09-29 13:52:08 +02:00
2024-10-30 17:02:39 -07:00
2025-09-29 13:52:08 +02:00
2023-12-20 21:30:27 -08:00
2025-09-29 13:52:08 +02:00
2025-03-04 17:18:07 +01:00
2021-10-11 20:55:58 +02:00
2025-09-17 08:14:04 +02:00
2025-09-29 13:52:08 +02:00
2025-06-02 12:24:58 -07:00
2025-03-04 17:18:06 +01:00
2025-03-31 12:20:39 +02:00
2025-06-16 16:23:02 +02:00
2025-06-16 16:23:02 +02:00
2025-06-29 13:12:01 +02:00
2024-07-10 14:23:38 +02:00
2023-01-22 18:42:35 +01:00
2022-01-30 21:17:00 -05:00
2025-06-02 12:24:58 -07:00
2024-09-13 17:28:36 +02:00
2025-06-16 16:23:02 +02:00
2019-12-10 10:12:55 +01:00
2019-04-10 17:47:09 +02:00
2024-06-18 17:01:33 +02:00
2020-09-30 12:09:54 +02:00
2025-03-18 17:13:51 +01:00