PCI/ASPM: Use distinct local vars in pcie_retrain_link()
authorMaciej W. Rozycki <macro@orcam.me.uk>
Sun, 11 Jun 2023 17:19:45 +0000 (18:19 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 14 Jun 2023 22:58:12 +0000 (17:58 -0500)
Use separate local variables to hold the respective values retrieved from
the Link Control Register and the Link Status Register.  Improves
readability and it makes it possible for the compiler to detect actual
uninitialised use should this code change in the future.

[bhelgaas: reorder to clean up before exposing to PCI core]
Link: https://lore.kernel.org/r/alpine.DEB.2.21.2306110252260.64925@angie.orcam.me.uk
Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/pcie/aspm.c

index 66d7514ca111b01d9cb6502dbc6bf2e6413bc0e3..0048c417a78d3ad8c9759c9595f587937fa7ba38 100644 (file)
@@ -197,30 +197,31 @@ static bool pcie_retrain_link(struct pcie_link_state *link)
 {
        struct pci_dev *parent = link->pdev;
        unsigned long end_jiffies;
-       u16 reg16;
+       u16 lnkctl;
+       u16 lnksta;
 
-       pcie_capability_read_word(parent, PCI_EXP_LNKCTL, &reg16);
-       reg16 |= PCI_EXP_LNKCTL_RL;
-       pcie_capability_write_word(parent, PCI_EXP_LNKCTL, reg16);
+       pcie_capability_read_word(parent, PCI_EXP_LNKCTL, &lnkctl);
+       lnkctl |= PCI_EXP_LNKCTL_RL;
+       pcie_capability_write_word(parent, PCI_EXP_LNKCTL, lnkctl);
        if (parent->clear_retrain_link) {
                /*
                 * Due to an erratum in some devices the Retrain Link bit
                 * needs to be cleared again manually to allow the link
                 * training to succeed.
                 */
-               reg16 &= ~PCI_EXP_LNKCTL_RL;
-               pcie_capability_write_word(parent, PCI_EXP_LNKCTL, reg16);
+               lnkctl &= ~PCI_EXP_LNKCTL_RL;
+               pcie_capability_write_word(parent, PCI_EXP_LNKCTL, lnkctl);
        }
 
        /* Wait for link training end. Break out after waiting for timeout */
        end_jiffies = jiffies + LINK_RETRAIN_TIMEOUT;
        do {
-               pcie_capability_read_word(parent, PCI_EXP_LNKSTA, &reg16);
-               if (!(reg16 & PCI_EXP_LNKSTA_LT))
+               pcie_capability_read_word(parent, PCI_EXP_LNKSTA, &lnksta);
+               if (!(lnksta & PCI_EXP_LNKSTA_LT))
                        break;
                msleep(1);
        } while (time_before(jiffies, end_jiffies));
-       return !(reg16 & PCI_EXP_LNKSTA_LT);
+       return !(lnksta & PCI_EXP_LNKSTA_LT);
 }
 
 /*