[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <bd54ee4b-8349-4447-9cbb-484439df2473@linux.ibm.com>
Date: Tue, 21 Oct 2025 13:34:20 -0700
From: Farhan Ali <alifm@...ux.ibm.com>
To: Matthew Rosato <mjrosato@...ux.ibm.com>, linux-s390@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org
Cc: helgaas@...nel.org, stable@...r.kernel.org, schnelle@...ux.ibm.com
Subject: Re: [PATCH v1 3/3] s390/pci: Restore IRQ unconditionally for the zPCI
device
On 10/21/2025 7:07 AM, Matthew Rosato wrote:
> On 10/20/25 3:02 PM, 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>
>> Signed-off-by: Farhan Ali <alifm@...ux.ibm.com>
> Reviewed-by: Matthew Rosato <mjrosato@...ux.ibm.com>
>
> But one question: Unlike the other 2 patches in this series, this only touches s390 code. It doesn't depend on the other 2 patches in this series, right?
>
> If not then shouldn't this one go thru s390 rather than PCI subsystem? Note: none of the s390 arch maintainers are on CC.
Yes I think this could go through s390 tree as it just changes s390/pci
code. Will submit this as a separate patch from this series.
Thanks
Farhan
>
>> ---
>> arch/s390/include/asm/pci.h | 1 -
>> arch/s390/pci/pci_irq.c | 9 +--------
>> 2 files changed, 1 insertion(+), 9 deletions(-)
>>
Powered by blists - more mailing lists