On Mon, 7 Mar 2016 15:48:34 +0800 Yongji Xie <xyjxie@xxxxxxxxxxxxxxxxxx> wrote: > The resource_alignment will releases memory resources > allocated by firmware so that kernel can reassign new > resources later on. But this will cause the problem > that no resources can be allocated by kernel if > PCI_PROBE_ONLY was set, e.g. on pSeries platform > because PCI_PROBE_ONLY force kernel to use firmware > setup and not to reassign any resources. > > To solve this problem, this patch ignores > resource_alignment if PCI_PROBE_ONLY was set. > > Signed-off-by: Yongji Xie <xyjxie@xxxxxxxxxxxxxxxxxx> > --- > Documentation/kernel-parameters.txt | 2 ++ > drivers/pci/probe.c | 3 ++- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt > index d8b29ab..8028631 100644 > --- a/Documentation/kernel-parameters.txt > +++ b/Documentation/kernel-parameters.txt > @@ -2922,6 +2922,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. > windows need to be expanded. > noresize: Don't change the resources' sizes when > reassigning alignment. > + Note that this option will not work if > + PCI_PROBE_ONLY is set. How would a user have any idea if this is set? > ecrc= Enable/disable PCIe ECRC (transaction layer > end-to-end CRC checking). > bios: Use BIOS/firmware settings. This is the > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > index 6d7ab9b..bc31cad 100644 > --- a/drivers/pci/probe.c > +++ b/drivers/pci/probe.c > @@ -1719,7 +1719,8 @@ void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) > pci_fixup_device(pci_fixup_header, dev); > > /* moved out from quirk header fixup code */ > - pci_reassigndev_resource_alignment(dev); > + if (!pci_has_flag(PCI_PROBE_ONLY)) > + pci_reassigndev_resource_alignment(dev); > > /* Clear the state_saved flag. */ > dev->state_saved = false; -- 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