]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
PCI: rpaphp: Fix up pointer to first drc-info entry
authorTyrel Datwyler <tyreld@linux.ibm.com>
Mon, 11 Nov 2019 05:21:31 +0000 (23:21 -0600)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 13 Nov 2019 05:57:57 +0000 (16:57 +1100)
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 <tyreld@linux.ibm.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/1573449697-5448-5-git-send-email-tyreld@linux.ibm.com
drivers/pci/hotplug/rpaphp_core.c

index 18627bb21e9ec57201bdea0a168f0df3ed8cc72a..e3502644a45c36f070717c25a2cac18c3e9abe04 100644 (file)
@@ -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);