public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Farhan Ali <alifm@linux.ibm.com>
To: Matthew Rosato <mjrosato@linux.ibm.com>,
	linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-pci@vger.kernel.org
Cc: helgaas@kernel.org, stable@vger.kernel.org, schnelle@linux.ibm.com
Subject: Re: [PATCH v1 3/3] s390/pci: Restore IRQ unconditionally for the zPCI device
Date: Tue, 21 Oct 2025 13:34:20 -0700	[thread overview]
Message-ID: <bd54ee4b-8349-4447-9cbb-484439df2473@linux.ibm.com> (raw)
In-Reply-To: <0170a16a-aadd-450f-be9a-9b60dfd5c8e7@linux.ibm.com>


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@linux.ibm.com>
>> Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
> Reviewed-by: Matthew Rosato <mjrosato@linux.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(-)
>>

      reply	other threads:[~2025-10-21 20:34 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-20 19:01 [PATCH v1 0/3] PCI fixes for s390 Farhan Ali
2025-10-20 19:01 ` [PATCH v1 1/3] PCI: Allow per function PCI slots Farhan Ali
2025-10-21 12:49   ` Niklas Schnelle
2025-10-21 20:22     ` Farhan Ali
2025-10-20 19:01 ` [PATCH v1 2/3] s390/pci: Add architecture specific resource/bus address translation Farhan Ali
2025-10-20 19:02 ` [PATCH v1 3/3] s390/pci: Restore IRQ unconditionally for the zPCI device Farhan Ali
2025-10-21 14:07   ` Matthew Rosato
2025-10-21 20:34     ` Farhan Ali [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bd54ee4b-8349-4447-9cbb-484439df2473@linux.ibm.com \
    --to=alifm@linux.ibm.com \
    --cc=helgaas@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mjrosato@linux.ibm.com \
    --cc=schnelle@linux.ibm.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox