[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <94289b685aae2c329ecae06a56e3648375841ab4.camel@linux.ibm.com>
Date: Thu, 14 Aug 2025 13:32:40 +0200
From: Niklas Schnelle <schnelle@...ux.ibm.com>
To: Farhan Ali <alifm@...ux.ibm.com>, linux-s390@...r.kernel.org,
kvm@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: mjrosato@...ux.ibm.com, alex.williamson@...hat.com
Subject: Re: [PATCH v1 1/6] s390/pci: Restore airq unconditionally for the
zPCI device
On Wed, 2025-08-13 at 10:08 -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.
>
> However after a CLP disable/enable reset (zpci_hot_reset_device),
> the airq setup of the device will need to be restored. Since we
> are no longer calling zpci_clear_airq() in the reset path, we should
> restore the airq for device unconditionally.
>
> Signed-off-by: Farhan Ali <alifm@...ux.ibm.com>
> ---
> arch/s390/pci/pci_irq.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/s390/pci/pci_irq.c b/arch/s390/pci/pci_irq.c
> index 84482a921332..8b5493f0dee0 100644
> --- a/arch/s390/pci/pci_irq.c
> +++ b/arch/s390/pci/pci_irq.c
> @@ -427,8 +427,7 @@ bool arch_restore_msi_irqs(struct pci_dev *pdev)
> {
> struct zpci_dev *zdev = to_zpci(pdev);
>
> - if (!zdev->irqs_registered)
> - zpci_set_irq(zdev);
> + zpci_set_irq(zdev);
> return true;
> }
>
This would make zdev->irqs_registered effectively without function so
the patch should remove that field from struct zpci_dev and
zpci_set_irq()/zpci_clear_irq(). Alternatively you could also clear
zdev->irqs_registed in zpci_disable_device(). I think the former is
cleaner though.
Thanks,
Niklas
Powered by blists - more mailing lists