On Thu, 16 Jan 2025 17:20:19 +0000 Colin Ian King <colin.i.king@xxxxxxxxx> wrote: > 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) ? You can remove the extra set around the condition itself as well. They are a good hint the writer doesn't know their operator precedences :-) David > + dev->eetlp_prefix_max : 0); > } > > #ifdef CONFIG_PCIE_DPC