On Fri, Jun 03, 2016 at 05:55:17PM +0800, Lin Huang wrote: [...] > + ret = clk_prepare_enable(data->clk); > + if (ret) { > + dev_err(&pdev->dev, "failed to enable clk: %d\n", ret); > + clk_disable_unprepare(data->clk); > + return ret; > + } This is going to give you a large WARN. clk_prepare_enable() already leaves the clock in a proper state when it fails (i.e. it calls clk_unprepare() if the clk_enable() part failed), so calling clk_disable_unprepare() upon failure is going to unbalance the reference counts. Thierry
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel