From: Will Deacon <will.deacon@arm•com>
To: Marc Zyngier <marc.zyngier@arm•com>
Cc: Benjamin Herrenschmidt <benh@kernel•crashing.org>,
Paul Mackerras <paulus@samba•org>,
Michael Ellerman <mpe@ellerman•id.au>,
Bjorn Helgaas <bhelgaas@google•com>,
"suravee.suthikulpanit@amd•com" <suravee.suthikulpanit@amd•com>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@arm•com>,
"grant.likely@linaro•org" <grant.likely@linaro•org>,
Rob Herring <robh+dt@kernel•org>, "agraf@suse•de" <agraf@suse•de>,
"linux-kernel@vger•kernel.org" <linux-kernel@vger•kernel.org>,
"linux-arm-kernel@lists•infradead.org"
<linux-arm-kernel@lists•infradead.org>,
"linuxppc-dev@lists•ozlabs.org" <linuxppc-dev@lists•ozlabs.org>,
"linux-pci@vger•kernel.org" <linux-pci@vger•kernel.org>,
"devicetree@vger•kernel.org" <devicetree@vger•kernel.org>
Subject: Re: [PATCH v4 2/4] PCI: pci-host-generic: Fix lookup of linux,pci-probe-only property
Date: Mon, 7 Sep 2015 10:15:37 +0100 [thread overview]
Message-ID: <20150907091537.GA14244@arm.com> (raw)
In-Reply-To: <1441385411-7624-3-git-send-email-marc.zyngier@arm.com>
On Fri, Sep 04, 2015 at 05:50:09PM +0100, Marc Zyngier wrote:
> When pci-host-generic looks for the probe-only property, it seems
> to trust the DT to be correctly written, and assumes that there
> is a parameter to the property.
>
> Unfortunately, this is not always the case, and some firmware expose
> this property naked. The driver ends up making a decision based on
> whatever the property pointer points to, which is likely to be junk.
>
> Switch to the common of_pci.c implementation that doesn't suffer
> from this problem.
>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm•com>
> ---
> drivers/pci/host/pci-host-generic.c | 9 +--------
> 1 file changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/drivers/pci/host/pci-host-generic.c b/drivers/pci/host/pci-host-generic.c
> index 265dd25..224303d 100644
> --- a/drivers/pci/host/pci-host-generic.c
> +++ b/drivers/pci/host/pci-host-generic.c
> @@ -210,7 +210,6 @@ static int gen_pci_probe(struct platform_device *pdev)
> int err;
> const char *type;
> const struct of_device_id *of_id;
> - const int *prop;
> struct device *dev = &pdev->dev;
> struct device_node *np = dev->of_node;
> struct gen_pci *pci = devm_kzalloc(dev, sizeof(*pci), GFP_KERNEL);
> @@ -225,13 +224,7 @@ static int gen_pci_probe(struct platform_device *pdev)
> return -EINVAL;
> }
>
> - prop = of_get_property(of_chosen, "linux,pci-probe-only", NULL);
> - if (prop) {
> - if (*prop)
> - pci_add_flags(PCI_PROBE_ONLY);
> - else
> - pci_clear_flags(PCI_PROBE_ONLY);
> - }
> + of_pci_check_probe_only();
Looks good to me:
Acked-by: Will Deacon <will.deacon@arm•com>
Thanks, Marc.
Will
next prev parent reply other threads:[~2015-09-07 9:15 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-04 16:50 [PATCH v4 0/4] PCI: arm64/powerpc: Fix parsing of linux, pci-probe-only Marc Zyngier
2015-09-04 16:50 ` [PATCH v4 1/4] of/pci: Add of_pci_check_probe_only to parse "linux, pci-probe-only" Marc Zyngier
2015-09-04 19:19 ` Rob Herring
2015-09-04 16:50 ` [PATCH v4 2/4] PCI: pci-host-generic: Fix lookup of linux, pci-probe-only property Marc Zyngier
2015-09-07 9:15 ` Will Deacon [this message]
2015-09-04 16:50 ` [PATCH v4 3/4] powerpc: PCI: " Marc Zyngier
2015-09-07 8:59 ` [PATCH v4 3/4] powerpc: PCI: Fix lookup of linux,pci-probe-only property Michael Ellerman
2015-09-04 16:50 ` [PATCH v4 4/4] arm64: dts: Drop linux, pci-probe-only from the Seattle DTS Marc Zyngier
2015-09-04 18:52 ` [PATCH v4 0/4] PCI: arm64/powerpc: Fix parsing of linux, pci-probe-only Rob Herring
2015-09-17 15:30 ` [PATCH v4 0/4] PCI: arm64/powerpc: Fix parsing of linux,pci-probe-only Bjorn Helgaas
2015-09-17 17:17 ` [PATCH v4 0/4] PCI: arm64/powerpc: Fix parsing of linux, pci-probe-only Marc Zyngier
2015-09-17 17:21 ` Bjorn Helgaas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150907091537.GA14244@arm.com \
--to=will.deacon@arm$(echo .)com \
--cc=Lorenzo.Pieralisi@arm$(echo .)com \
--cc=agraf@suse$(echo .)de \
--cc=benh@kernel$(echo .)crashing.org \
--cc=bhelgaas@google$(echo .)com \
--cc=devicetree@vger$(echo .)kernel.org \
--cc=grant.likely@linaro$(echo .)org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-pci@vger$(echo .)kernel.org \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=marc.zyngier@arm$(echo .)com \
--cc=mpe@ellerman$(echo .)id.au \
--cc=paulus@samba$(echo .)org \
--cc=robh+dt@kernel$(echo .)org \
--cc=suravee.suthikulpanit@amd$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox