All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V1] PCI/MSI: Fix MSI hwirq truncation
@ 2024-01-05 13:43 Vidya Sagar
  2024-01-05 17:02 ` Kuppuswamy Sathyanarayanan
  2024-01-08 12:05 ` [PATCH V2] " Vidya Sagar
  0 siblings, 2 replies; 18+ messages in thread
From: Vidya Sagar @ 2024-01-05 13:43 UTC (permalink / raw)
  To: bhelgaas, rdunlap, ilpo.jarvinen, tglx
  Cc: linux-pci, linux-kernel, treding, jonathanh, sdonthineni, kthota,
	mmaddireddy, vidyas, sagar.tv

While calculating the hwirq number for an MSI interrupt, the higher
bits (i.e. from bit-5 onwards a.k.a domain_nr >= 32) of the PCI domain
number gets truncated because of the shifted value casting to u32. This
for example is resulting in same hwirq number for devices 0019:00:00.0
and 0039:00:00.0.

So, cast the PCI domain number to u64 before left shifting it to
calculate hwirq number.

Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
---
 drivers/pci/msi/irqdomain.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/msi/irqdomain.c b/drivers/pci/msi/irqdomain.c
index c8be056c248d..cfd84a899c82 100644
--- a/drivers/pci/msi/irqdomain.c
+++ b/drivers/pci/msi/irqdomain.c
@@ -61,7 +61,7 @@ static irq_hw_number_t pci_msi_domain_calc_hwirq(struct msi_desc *desc)
 
 	return (irq_hw_number_t)desc->msi_index |
 		pci_dev_id(dev) << 11 |
-		(pci_domain_nr(dev->bus) & 0xFFFFFFFF) << 27;
+		((irq_hw_number_t)(pci_domain_nr(dev->bus) & 0xFFFFFFFF)) << 27;
 }
 
 static void pci_msi_domain_set_desc(msi_alloc_info_t *arg,
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2024-02-19 15:21 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-05 13:43 [PATCH V1] PCI/MSI: Fix MSI hwirq truncation Vidya Sagar
2024-01-05 17:02 ` Kuppuswamy Sathyanarayanan
2024-01-08 11:58   ` Vidya Sagar
2024-01-08 12:05 ` [PATCH V2] " Vidya Sagar
2024-01-08 14:09   ` Shanker Donthineni
2024-01-10 10:12   ` Thomas Gleixner
2024-01-10 18:04     ` Vidya Sagar
2024-01-11  5:28   ` [PATCH V3] " Vidya Sagar
2024-01-12 15:53     ` Thomas Gleixner
2024-01-12 17:33       ` Vidya Sagar
2024-01-15 10:01         ` Thomas Gleixner
2024-01-15 13:50           ` Vidya Sagar
2024-01-15 13:56     ` [PATCH V4] " Vidya Sagar
2024-01-23 16:01       ` Vidya Sagar
2024-01-31  3:15         ` Vidya Sagar
2024-02-07  6:59           ` Vidya Sagar
2024-02-07 10:01             ` Thomas Gleixner
2024-02-19 15:21       ` [tip: irq/urgent] PCI/MSI: Prevent MSI hardware interrupt number truncation tip-bot2 for Vidya Sagar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.