linux/drivers/pci
Jon Hunter f67092eff2 PCI: tegra194: Fix tegra_pcie_ep_raise_msi_irq() ill-defined shift
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>
2021-06-28 18:26:46 -05:00
..
controller PCI: tegra194: Fix tegra_pcie_ep_raise_msi_irq() ill-defined shift 2021-06-28 18:26:46 -05:00
endpoint Merge branch 'remotes/lorenzo/pci/endpoint' 2021-05-04 10:43:27 -05:00
hotplug more s390 updates for 5.13 merge window 2021-05-06 14:39:50 -07:00
pcie Merge branch 'pci/kernel-doc' 2021-05-04 10:43:24 -05:00
switch
access.c
ats.c
bus.c
ecam.c
host-bridge.c
iov.c PCI/IOV: Add sysfs MSI-X vector assignment interface 2021-04-04 10:26:30 +03:00
irq.c
Kconfig
Makefile
mmap.c
msi.c PCI/MSI: Document the various ways of ending up with NO_MSI 2021-04-20 14:11:22 +01:00
of.c
p2pdma.c
pci-acpi.c
pci-bridge-emul.c
pci-bridge-emul.h
pci-driver.c
pci-label.c PCI/sysfs: Use sysfs_emit() and sysfs_emit_at() in "show" functions 2021-04-29 10:07:31 -05:00
pci-mid.c
pci-pf-stub.c
pci-stub.c
pci-sysfs.c pci-v5.13-changes 2021-05-05 13:24:11 -07:00
pci.c pci-v5.13-changes 2021-05-05 13:24:11 -07:00
pci.h pci-v5.13-changes 2021-05-05 13:24:11 -07:00
probe.c Merge branch 'remotes/lorenzo/pci/msi' 2021-05-04 10:43:30 -05:00
proc.c
quirks.c Merge branch 'remotes/lorenzo/pci/msi' 2021-05-04 10:43:30 -05:00
remove.c PCI/sysfs: Convert "reset" to static attribute 2021-04-27 17:53:20 -05:00
rom.c
search.c
setup-bus.c
setup-irq.c
setup-res.c
slot.c
syscall.c
vc.c
vpd.c Merge branch 'pci/sysfs' 2021-05-04 10:43:23 -05:00
xen-pcifront.c