The pmic platform data wasn't updated to dev.platform_data after it had been allocated. That can cause the driver crash when using it. This patch fixes the issue. We need to update the pdata pointer at the end of probe because if probe should fail for some reason, for instance if an in-supply isn't ready yet, then probe will defer. However, the pdata is allocated with devm, and so is freed when probe is deferred. Based on work by Joseph Lo. Cc: Joseph Lo <josephl@xxxxxxxxxx> Signed-off-by: Rhyland Klein <rklein@xxxxxxxxxx> --- drivers/regulator/palmas-regulator.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/regulator/palmas-regulator.c b/drivers/regulator/palmas-regulator.c index d0c8785..e11b762 100644 --- a/drivers/regulator/palmas-regulator.c +++ b/drivers/regulator/palmas-regulator.c @@ -1027,6 +1027,8 @@ static int palmas_regulators_probe(struct platform_device *pdev) } } + /* Store the pdata pointer after everything else passes */ + pdev->dev.platform_data = pdata; return 0; -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html