Why do we check for "link-up" in *_pcie_valid_device()?

Bjorn Helgaas helgaas at kernel.org
Thu Dec 14 14:58:21 PST 2017

Hi all,

In the PCI config access path, the *_pcie_valid_device() functions in
the dwc, altera, rockchip, and xilinx drivers all check whether the
link is up.

I think this is racy because the link may go down after we check but
before we perform the config access.

What would blow up if we removed the *_pcie_link_up() checks?

I'd like to either remove the checks or add comments about why the
race is acceptable.  If we've covered this before, I apologize.
Adding a comment will keep me from pestering you about this again in
the future.


More information about the Linux-rockchip mailing list