lkml.org 
[lkml]   [2021]   [Sep]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 082/122] PCI: of: Dont fail devm_pci_alloc_host_bridge() on missing ranges
    Date
    From: Rob Herring <robh@kernel.org>

    [ Upstream commit d277f6e88c88729b1d57d40bbfb00d0bfc961972 ]

    Commit 669cbc708122 ("PCI: Move DT resource setup into
    devm_pci_alloc_host_bridge()") made devm_pci_alloc_host_bridge() fail on
    any DT resource parsing errors, but Broadcom iProc uses
    devm_pci_alloc_host_bridge() on BCMA bus devices that don't have DT
    resources. In particular, there is no 'ranges' property. Fix iProc by
    making 'ranges' optional.

    If 'ranges' is required by a platform, there's going to be more errors
    latter on if it is missing.

    Link: https://lore.kernel.org/r/20210803215656.3803204-1-robh@kernel.org
    Fixes: 669cbc708122 ("PCI: Move DT resource setup into devm_pci_alloc_host_bridge()")
    Reported-by: Rafał Miłecki <zajec5@gmail.com>
    Tested-by: Rafał Miłecki <rafal@milecki.pl>
    Signed-off-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Acked-by: Bjorn Helgaas <bhelgaas@google.com>
    Cc: Srinath Mannam <srinath.mannam@broadcom.com>
    Cc: Roman Bacik <roman.bacik@broadcom.com>
    Cc: Bharat Gooty <bharat.gooty@broadcom.com>
    Cc: Abhishek Shah <abhishek.shah@broadcom.com>
    Cc: Jitendra Bhivare <jitendra.bhivare@broadcom.com>
    Cc: Ray Jui <ray.jui@broadcom.com>
    Cc: Florian Fainelli <f.fainelli@gmail.com>
    Cc: BCM Kernel Feedback <bcm-kernel-feedback-list@broadcom.com>
    Cc: Scott Branden <sbranden@broadcom.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pci/of.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/pci/of.c b/drivers/pci/of.c
    index ac24cd5439a9..3f6ef2f45e57 100644
    --- a/drivers/pci/of.c
    +++ b/drivers/pci/of.c
    @@ -295,7 +295,7 @@ static int devm_of_pci_get_host_bridge_resources(struct device *dev,
    /* Check for ranges property */
    err = of_pci_range_parser_init(&parser, dev_node);
    if (err)
    - goto failed;
    + return 0;

    dev_dbg(dev, "Parsing ranges property...\n");
    for_each_of_pci_range(&parser, &range) {
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-20 20:37    [W:4.019 / U:0.200 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site