Re: [PATCH] PCI/MSI: Remove duplicated to_pci_dev() conversion

From: Ilpo Järvinen
Date: Wed Jun 18 2025 - 05:33:50 EST


On Tue, 17 Jun 2025, Chris Li wrote:

> In the pci_msi_update_mask() function, "lock = &to_pci_dev()" does the
> "to_pci_dev()" lookup, and there's another one buried inside
> "msi_desc_to_pci_dev()"
>
> Introduce a local variable to remove that duplication.
>
> Signed-off-by: Chris Li <chrisl@xxxxxxxxxx>
> ---
> drivers/pci/msi/msi.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> index 6ede55a7c5e652c80b51b10e58f0290eb6556430..78bed2def9d870d645751436793238ef2bc8b3ed 100644
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -113,7 +113,8 @@ static int pci_setup_msi_context(struct pci_dev *dev)
>
> void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set)
> {
> - raw_spinlock_t *lock = &to_pci_dev(desc->dev)->msi_lock;
> + struct pci_dev *dev = msi_desc_to_pci_dev(desc);
> + raw_spinlock_t *lock = &dev->msi_lock;
> unsigned long flags;
>
> if (!desc->pci.msi_attrib.can_mask)
> @@ -122,8 +123,7 @@ void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set)
> raw_spin_lock_irqsave(lock, flags);
> desc->pci.msi_mask &= ~clear;
> desc->pci.msi_mask |= set;
> - pci_write_config_dword(msi_desc_to_pci_dev(desc), desc->pci.mask_pos,
> - desc->pci.msi_mask);
> + pci_write_config_dword(dev, desc->pci.mask_pos, desc->pci.msi_mask);
> raw_spin_unlock_irqrestore(lock, flags);
> }

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>

--
i.