Re: [RESEND PATCH v2 1/4] PCI: Ignore resource_alignment if PCI_PROBE_ONLY was set\\
From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2016-06-21 01:46:12
Also in:
linux-pci, lkml
On Thu, Jun 02, 2016 at 01:46:48PM +0800, Yongji Xie wrote:
quoted hunk ↗ jump to hunk
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 <redacted> --- drivers/pci/pci.c | 6 ++++++ 1 file changed, 6 insertions(+)diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index c8b4dbd..a259394 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c@@ -4761,6 +4761,12 @@ static resource_size_t pci_specified_resource_alignment(struct pci_dev *dev) spin_lock(&resource_alignment_lock); p = resource_alignment_param; while (*p) { + if (pci_has_flag(PCI_PROBE_ONLY)) { + printk(KERN_ERR "PCI: Ignore resource_alignment parameter: %s with PCI_PROBE_ONLY set\n", + p); + *p = 0; + break;
Wouldn't it be simpler to make pci_set_resource_alignment_param() fail if PCI_PROBE_ONLY is set?
+ }
count = 0;
if (sscanf(p, "%d%n", &align_order, &count) == 1 &&
p[count] == '@') {
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html