On Mon, Aug 12, 2013 at 08:46:47PM +0200, Sebastian Hesselbarth wrote: [...] > diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c [...] > @@ -897,6 +897,16 @@ static int __init mvebu_pcie_probe(struct platform_device *pdev) > continue; > } > > + port->clk = of_clk_get_by_name(child, NULL); > + if (IS_ERR(port->clk)) { > + dev_err(&pdev->dev, "PCIe%d.%d: cannot get clock\n", > + port->port, port->lane); > + iounmap(port->base); > + port->haslink = 0; > + continue; > + } > + clk_prepare_enable(port->clk); I see that this was already wrong previously, but since you're changing the line anyway you should probably also check for failure of the clk_prepare_enable() call and error out if it can't be prepare/enabled. Thierry