From: Leonard Crestez Date: Tue, 14 Feb 2017 15:31:03 +0000 (+0200) Subject: regulator: Fix regulator_summary for deviceless consumers X-Git-Tag: C0P2-H0.0--20200415~10070 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=2f714ba1282aa6f5f0158329a1b2d3858698618c;p=linux.git regulator: Fix regulator_summary for deviceless consumers commit e42a46b6f52473661ad192f76a128a68fe301df4 upstream. It is allowed to call regulator_get with a NULL dev argument (_regulator_get explicitly checks for it) but this causes an error later when printing /sys/kernel/debug/regulator_summary. Fix this by explicitly handling "deviceless" consumers in the debugfs code. Signed-off-by: Leonard Crestez Signed-off-by: Mark Brown Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 5c1519b229e0..9faccfceb53c 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -4357,12 +4357,13 @@ static void regulator_summary_show_subtree(struct seq_file *s, seq_puts(s, "\n"); list_for_each_entry(consumer, &rdev->consumer_list, list) { - if (consumer->dev->class == ®ulator_class) + if (consumer->dev && consumer->dev->class == ®ulator_class) continue; seq_printf(s, "%*s%-*s ", (level + 1) * 3 + 1, "", - 30 - (level + 1) * 3, dev_name(consumer->dev)); + 30 - (level + 1) * 3, + consumer->dev ? dev_name(consumer->dev) : "deviceless"); switch (rdev->desc->type) { case REGULATOR_VOLTAGE: