On Mon, Aug 19, 2019 at 06:52:45PM -0500, Bjorn Helgaas wrote: > > Right, it looks like we need some sort of flag there anyway. > > Does this mean you're looking at getting rid of "has_secondary_link", > you think it's impossible, or you think it's not worth trying? I was of thinking that we need some flag anyway for the downstream port (such as has_secondary_link) that tells us the which side of the port the link is. > I'm pretty sure we could get rid of it by looking upstream, but I > haven't actually tried it. So if we are downstream port, look at the parent and if it is also downstream port (or root port) we change the type to upstream port accordingly? That might work. Another option may be to just add a quirk for these ports. Only concern for both is that we have functions that rely on the type such as pcie_capability_read_word() so if we change the type do we end up breaking something? I did not check too closely, though. I'm willing to cook a patch that fixes this once we have some consensus what it should do ;-)