From: Tyrel Datwyler Date: Mon, 11 Nov 2019 05:21:31 +0000 (-0600) Subject: PCI: rpaphp: Fix up pointer to first drc-info entry X-Git-Tag: for-linus-20191205~57^2~72 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=9723c25f99aff0451cfe6392e1b9fdd99d0bf9f0;p=linux-2.6-block.git PCI: rpaphp: Fix up pointer to first drc-info entry The first entry of the ibm,drc-info property is an int encoded count of the number of drc-info entries that follow. The "value" pointer returned by of_prop_next_u32() is still pointing at the this value when we call of_read_drc_info_cell(), but the helper function expects that value to be pointing at the first element of an entry. Fix up by incrementing the "value" pointer to point at the first element of the first drc-info entry prior. Signed-off-by: Tyrel Datwyler Acked-by: Bjorn Helgaas Signed-off-by: Michael Ellerman Link: https://lore.kernel.org/r/1573449697-5448-5-git-send-email-tyreld@linux.ibm.com --- diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c index 18627bb21e9e..e3502644a45c 100644 --- a/drivers/pci/hotplug/rpaphp_core.c +++ b/drivers/pci/hotplug/rpaphp_core.c @@ -239,6 +239,8 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, value = of_prop_next_u32(info, NULL, &entries); if (!value) return -EINVAL; + else + value++; for (j = 0; j < entries; j++) { of_read_drc_info_cell(&info, &value, &drc);