linux/drivers/pci
Jon Hunter e22051e7c9 PCI: tegra194: Fix tegra_pcie_ep_raise_msi_irq() ill-defined shift
[ Upstream commit f67092eff2 ]

tegra_pcie_ep_raise_msi_irq() shifted a signed 32-bit value left by 31
bits.  The behavior of this is implementation-defined.

Replace the shift by BIT(), which is well-defined.

Found by cppcheck:

  $ cppcheck --enable=all drivers/pci/controller/dwc/pcie-tegra194.c
  Checking drivers/pci/controller/dwc/pcie-tegra194.c ...

  drivers/pci/controller/dwc/pcie-tegra194.c:1829:23: portability: Shifting signed 32-bit value by 31 bits is implementation-defined behaviour. See condition at line 1826.  [shiftTooManyBitsSigned]

  appl_writel(pcie, (1 << irq), APPL_MSI_CTRL_1);
                     ^

[bhelgaas: commit log]
Link: https://lore.kernel.org/r/20210618160219.303092-1-jonathanh@nvidia.com
Fixes: c57247f940 ("PCI: tegra: Add support for PCIe endpoint mode in Tegra194")
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-20 16:05:52 +02:00
..
controller PCI: tegra194: Fix tegra_pcie_ep_raise_msi_irq() ill-defined shift 2021-07-20 16:05:52 +02:00
endpoint PCI: endpoint: Fix missing destroy_workqueue() 2021-05-19 10:13:02 +02:00
hotplug PCI: pciehp: Ignore Link Down/Up caused by DPC 2021-07-20 16:05:47 +02:00
pcie PCI: pciehp: Ignore Link Down/Up caused by DPC 2021-07-20 16:05:47 +02:00
switch
access.c
ats.c
bus.c
ecam.c
host-bridge.c
iov.c
irq.c
Kconfig pci-v5.10-changes 2020-10-22 12:41:00 -07:00
Makefile
mmap.c
msi.c
of.c
p2pdma.c PCI/P2PDMA: Avoid pci_get_slot(), which may sleep 2021-07-20 16:05:47 +02:00
pci-acpi.c PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() 2020-12-30 11:54:05 +01:00
pci-bridge-emul.c PCI: pci-bridge-emul: Fix array overruns, improve safety 2021-03-04 11:38:15 +01:00
pci-bridge-emul.h
pci-driver.c pci-v5.10-changes 2020-10-22 12:41:00 -07:00
pci-label.c PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun 2021-07-20 16:05:50 +02:00
pci-mid.c
pci-pf-stub.c
pci-stub.c
pci-sysfs.c Merge branch 'pci/misc' 2020-10-21 09:58:36 -05:00
pci.c Revert "PCI: PM: Do not read power state in pci_enable_device_flags()" 2021-06-30 08:47:17 -04:00
pci.h PCI: pciehp: Ignore Link Down/Up caused by DPC 2021-07-20 16:05:47 +02:00
probe.c PCI: Release OF node in pci_scan_device()'s error path 2021-05-19 10:13:01 +02:00
proc.c
quirks.c PCI: Leave Apple Thunderbolt controllers on for s2idle or standby 2021-07-19 09:45:01 +02:00
remove.c
rom.c
search.c
setup-bus.c
setup-irq.c
setup-res.c PCI: Decline to resize resources if boot config must be preserved 2021-03-04 11:37:18 +01:00
slot.c PCI: Fix pci_slot_release() NULL pointer dereference 2020-12-30 11:54:28 +01:00
syscall.c PCI: Align checking of syscall user config accessors 2021-03-04 11:38:12 +01:00
vc.c
vpd.c PCI: Allow VPD access for QLogic ISP2722 2021-05-14 09:49:57 +02:00
xen-pcifront.c dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02:00