powerpc: Fix little endian issue in OF PCI scan
This issue was causing the QEMU emulated USB device to fail dring PCI probe. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
411cabf79e
commit
3e7cec6b17
|
@ -302,7 +302,7 @@ static struct pci_dev *of_scan_pci_dev(struct pci_bus *bus,
|
|||
struct device_node *dn)
|
||||
{
|
||||
struct pci_dev *dev = NULL;
|
||||
const u32 *reg;
|
||||
const __be32 *reg;
|
||||
int reglen, devfn;
|
||||
|
||||
pr_debug(" * %s\n", dn->full_name);
|
||||
|
@ -312,7 +312,7 @@ static struct pci_dev *of_scan_pci_dev(struct pci_bus *bus,
|
|||
reg = of_get_property(dn, "reg", ®len);
|
||||
if (reg == NULL || reglen < 20)
|
||||
return NULL;
|
||||
devfn = (reg[0] >> 8) & 0xff;
|
||||
devfn = (of_read_number(reg, 1) >> 8) & 0xff;
|
||||
|
||||
/* Check if the PCI device is already there */
|
||||
dev = pci_get_slot(bus, devfn);
|
||||
|
|
Loading…
Reference in New Issue