> From: linux-pci-owner@xxxxxxxxxxxxxxx [mailto:linux-pci- > owner@xxxxxxxxxxxxxxx] On Behalf Of Kallol Biswas > Sent: Tuesday, April 19, 2016 16:39 > To: linux-pci@xxxxxxxxxxxxxxx > Subject: PCI Hot Plug: OS can not program BARs for new devices > > I have a been testing PCIe Hot Plug feature on a Supericro X10DRL > motherboard running 2.6.38.1 kernel. > > If an endpoint is already present at boot time on a hot plug capable > PCIe slot then I can remove and add the endpoint with the help of a > Quarch device. OS allocates resources properly and after hot unplug > and plug, the device is functional. > > If the endpoint is not present at boot time (turned off with the > Quarch) then put back (turn on with Quarch) the OS can not program BAR > registers. <snip> > Is there a workaround for this? Note, there are other devices on > downstream PCIe ports, so remove and rescan is not an option. I had proposed a solution to this, involving statically enumerating bus numbers and BAR resources. See http://www.spinics.net/lists/linux-pci/msg44721.html Using hpmemsize was not sufficient for my case, because I needed to "hot add" a bridge. ��.n��������+%������w��{.n�����{���"�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥