On 2019-03-04 1:29 p.m., Bjorn Helgaas wrote: >> I agree, but reworking this code scares me and I suspect it was designed >> this way for a reason. I'm guessing there are a lot of corner cases and >> unusual bios issues this stuff works around. We might end up fixing a >> some cases and breaking a bunch of other cases. > > Scares me too, which is one reason I haven't done anything about it. > > I didn't mean to suggest that you should rework it for *this* issue. > I just keep hoping that we can chip away at teensy pieces and in ten > or twenty years maybe make some headway. Sure. Just trying to brainstorm some ideas. Another idea to chip away at things might be that instead of pbus_size_mem() trying to find an appropriate bridge resources by looping, we simply pass the resource it's supposed to use (which I suspect __pci_bus_size_bridges should be able to figure out ahead of time. So instead of guessing and testing for a bunch of different resource window types we might have, just loop through the actually available windows and group the resources in what we have. Once we've sorted out these patches, when I have some free time, I might try working out a cleanup patch in this direction that we could test and merge slowly. Logan