On Thu, Sep 15, 2016 at 04:47:01PM +0530, Viresh Kumar wrote:
Fix the kernel warnings and crashes by moving away from managed regulator bulk get API by using regulator_bulk_get() and explicitly calling regulator_put() for all the supplies in exit paths.
Moving away from regulator bulk get to regulator bulk get?
- ret = devm_regulator_bulk_get(wm8994->dev, wm8994->num_supplies,
- ret = regulator_bulk_get(wm8994->dev, wm8994->num_supplies, wm8994->supplies);
+err_regulator_put:
- for (i = wm8994->num_supplies - 1; i >= 0; i--)
regulator_put(wm8994->supplies[i].consumer);
Why are you unwinding regulator_bulk_get() with an open coded regulator_bulk_put()?
Also please think hard before including complete backtraces in upstream reports, they are very large and contain almost no useful information relative to their size so often obscure the relevant content in your message. If part of the backtrace is usefully illustrative then it's usually better to pull out the relevant sections.