Skip to content

Commit

Permalink
PCI: layerscape: Fix drvdata usage before assignment
Browse files Browse the repository at this point in the history
Commit fefe673 ("PCI: layerscape: Move struct pcie_port setup
to probe function") changed the init ordering of the pcie structure,
but started to use the pcie->drvdata field before initializing it.
Mayhem follows.

Fix this by moving the drvdata assignment right before the first use.
Tested on LS2085a.

Fixes: efe6733e516 ("PCI: layerscape: Move struct pcie_port setup to probe function")
Signed-off-by: Marc Zyngier <[email protected]>
Signed-off-by: Bjorn Helgaas <[email protected]>
  • Loading branch information
Marc Zyngier authored and bjorn-helgaas committed Oct 17, 2016
1 parent dabe7ec commit 15480f3
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/pci/host/pci-layerscape.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,7 @@ static int __init ls_pcie_probe(struct platform_device *pdev)

pp = &pcie->pp;
pp->dev = dev;
pcie->drvdata = match->data;
pp->ops = pcie->drvdata->ops;

dbi_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
Expand All @@ -256,7 +257,6 @@ static int __init ls_pcie_probe(struct platform_device *pdev)
return PTR_ERR(pcie->pp.dbi_base);
}

pcie->drvdata = match->data;
pcie->lut = pcie->pp.dbi_base + pcie->drvdata->lut_offset;

if (!ls_pcie_is_bridge(pcie))
Expand Down

0 comments on commit 15480f3

Please sign in to comment.