Re: [PATCH v10 6/7] PCI: Unify wait for link active into generic pci
From: Christoph Hellwig
Date: Thu Feb 22 2018 - 13:43:57 EST
>
> +/**
> + * pci__wait_for_link - Wait for link till its active/inactive
typo - just wants a single underscore.
> + pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status);
> + ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA);
no need for the !! when assigning to a boolean.
> +
> + while ((ret != active) && (timeout > 0)) {
No need for either pair of inner braces.
> + msleep(10);
> + timeout -= 10;
> + pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status);
> + ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA);
Same as above.
> + }
> +
> + if (ret == active)
> + return true;
Seems like the structure is a bit odd. Why not:
for (;;) {
pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status);
if ((lnk_status & PCI_EXP_LNKSTA_DLLLA) == active)
return true;
if (timeout <= 0)
break;
timeout -= 10;
}