OpenCloudOS-Kernel/drivers/of
Gavin Shan 8c237cd0cc drivers/of: Fix depth for sub-tree blob in unflatten_dt_nodes()
The function is unflattening device sub-tree blob if @dad passed to
the function is valid. Currently, this functionality is used by PPC
PowerNV PCI hotplug driver only. There are possibly multiple nodes
in the first level of depth, fdt_next_node() bails immediately when
@depth becomes negative before the second device node can be probed
successfully. It leads to the device nodes except the first one won't
be unflattened successfully.

This fixes the issue by setting the initial depth (@inital_depth) to
1 when this function is called to unflatten device sub-tree blob. No
logic changes when this function is used to unflatten non-sub-tree
blob.

Cc: Rhyland Klein <rklein@nvidia.com>
Fixes: 78c44d910 ("drivers/of: Fix depth when unflattening devicetree")
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Tested-by: Rhyland Klein <rklein@nvidia.com>
Tested-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
2016-06-09 14:36:34 -05:00
..
unittest-data of/unittest: replace 'selftest' with 'unittest' 2015-03-25 00:53:29 -05:00
Kconfig of, numa: Add NUMA of binding implementation. 2016-04-15 18:06:08 +01:00
Makefile MTD updates for v4.7: 2016-05-24 11:00:20 -07:00
address.c PCI, of: Move PCI I/O space management to PCI core code 2016-05-12 07:07:42 -05:00
base.c Devicetree for 4.7: 2016-05-20 14:51:34 -07:00
device.c iommu: of: enforce const-ness of struct iommu_ops 2016-05-09 15:33:29 +02:00
dynamic.c of: dynamic: changeset prop-update revert fix 2016-05-16 07:29:12 -05:00
fdt.c drivers/of: Fix depth for sub-tree blob in unflatten_dt_nodes() 2016-06-09 14:36:34 -05:00
fdt_address.c of: earlycon: Move address translation to of_setup_earlycon() 2016-02-06 22:07:37 -08:00
irq.c of: irq: fix of_irq_get[_byname]() kernel-doc 2016-06-03 07:22:01 -05:00
of_mdio.c of: of_mdio: Check if MDIO bus controller is available 2016-05-01 19:34:29 -04:00
of_net.c of_net: factor out repetitive code from of_get_mac_address() 2015-03-29 08:56:17 +01:00
of_numa.c of, numa: Add NUMA of binding implementation. 2016-04-15 18:06:08 +01:00
of_pci.c PCI: Remove includes of empty asm-generic/pci-bridge.h 2016-02-05 16:28:36 -06:00
of_pci_irq.c of_pci_irq: Silence bogus "of_irq_parse_pci() failed ..." messages. 2015-09-17 14:46:11 -05:00
of_private.h drivers/of: Export OF changeset functions 2016-01-13 16:10:37 -06:00
of_reserved_mem.c of: silence warnings due to max() usage 2016-06-03 07:25:38 -05:00
overlay.c drivers/of: Export OF changeset functions 2016-01-13 16:10:37 -06:00
pdt.c of: Eliminate of_allnodes list 2014-11-04 13:29:38 +00:00
platform.c of/platform: Allow secondary compatible match in of_dev_lookup 2016-04-15 08:45:32 -07:00
resolver.c of: resolver: Add missing of_node_get and of_node_put 2016-02-13 13:35:32 -06:00
unittest.c Devicetree for 4.7: 2016-05-20 14:51:34 -07:00