[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251023074028.9536A84-hca@linux.ibm.com>
Date: Thu, 23 Oct 2025 09:40:28 +0200
From: Heiko Carstens <hca@...ux.ibm.com>
To: Farhan Ali <alifm@...ux.ibm.com>
Cc: linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org,
schnelle@...ux.ibm.com, mjrosato@...ux.ibm.com, agordeev@...ux.ibm.com,
gor@...ux.ibm.com
Subject: Re: [PATCH v1 1/1] s390/pci: Restore IRQ unconditionally for the
zPCI device
On Wed, Oct 22, 2025 at 09:47:26AM -0700, Farhan Ali wrote:
> Commit c1e18c17bda6 ("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 da995d538d3a ("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.
>
> Reviewed-by: Niklas Schnelle <schnelle@...ux.ibm.com>
> Reviewed-by: Matthew Rosato <mjrosato@...ux.ibm.com>
> Signed-off-by: Farhan Ali <alifm@...ux.ibm.com>
> ---
> arch/s390/include/asm/pci.h | 1 -
> arch/s390/pci/pci_irq.c | 9 +--------
> 2 files changed, 1 insertion(+), 9 deletions(-)
The above sounds like this fixes a regression. Is there a reason why
there are no Fixes and stable tags?
Powered by blists - more mailing lists