[+cc Paul] On Sat, Feb 7, 2015 at 1:42 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > On Sat, Feb 7, 2015 at 6:14 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: > >> The BIOS sets the BAR. Why does the device work when the BIOS sets >> the BAR but not when Linux does? > > If you reset the firmware with disable/enable pcie link, the new BAR will > work. I remember experiments like that with changing the bus number on an LSI device (https://bugzilla.kernel.org/show_bug.cgi?id=84281, http://lkml.kernel.org/r/ghiol53r9u.fsf@xxxxxxxxxxxxxxxx). Did you do similar experiments with link enable/disable when changing the BAR? It sounds like you think it's standard practice for BIOSes to disable and re-enable the link after programming BARs? I'm not confident about that because I don't think there's anything in the spec that would suggest that. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html