The left hand size of the ? operator is always true because of the addition of PCIE_STD_NUM_TLP_HEADERLOG and so dev->eetlp_prefix_max is always being returned and the 0 is never returned (dead code). Fix this by adding the required parentheses around the ternary operator. Fixes: 00048c2d5f11 ("PCI: Add TLP Prefix reading to pcie_read_tlp_log()") Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx> --- drivers/pci/pcie/tlp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pcie/tlp.c b/drivers/pci/pcie/tlp.c index 9b9e348fb1a0..0860b5da837f 100644 --- a/drivers/pci/pcie/tlp.c +++ b/drivers/pci/pcie/tlp.c @@ -22,8 +22,8 @@ unsigned int aer_tlp_log_len(struct pci_dev *dev, u32 aercc) { return PCIE_STD_NUM_TLP_HEADERLOG + - (aercc & PCI_ERR_CAP_PREFIX_LOG_PRESENT) ? - dev->eetlp_prefix_max : 0; + ((aercc & PCI_ERR_CAP_PREFIX_LOG_PRESENT) ? + dev->eetlp_prefix_max : 0); } #ifdef CONFIG_PCIE_DPC -- 2.47.1