summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/rt5670.h
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2017-07-28 10:23:15 +0200
committerMark Brown <broonie@kernel.org>2017-08-01 16:15:42 +0200
commitc0a480d1acf7dc184f9f3e7cf724483b0d28dc2e (patch)
tree0c4d178bc64d97ba035fa18a91ad519f2c670717 /sound/soc/codecs/rt5670.h
parentLinux v4.13-rc1 (diff)
downloadlinux-c0a480d1acf7dc184f9f3e7cf724483b0d28dc2e.tar.xz
linux-c0a480d1acf7dc184f9f3e7cf724483b0d28dc2e.zip
device property: Fix usecount for of_graph_get_port_parent()
Fix inconsistent use of of_graph_get_port_parent() where asoc_simple_card_parse_graph_dai() does of_node_get() before calling it while other callers do not. We can fix this by not trashing the node passed to of_graph_get_port_parent(). Let's also make sure the callers have correct refcounts and remove related incorrect of_node_put() calls for of_for_each_phandle as that's done by of_phandle_iterator_next() except when we break out of the loop early. Let's fix both issues with a single patch to avoid kobject refcounts getting messed up more if two patches are merged separately. Otherwise strange issues can happen caused by memory corruption caused by too many kobject_del() calls such as: BUG: sleeping function called from invalid context at kernel/locking/mutex.c:747 ... (___might_sleep) (__mutex_lock) (mutex_lock_nested) (kernfs_remove) (kobject_del) (kobject_put) (of_get_next_parent) (of_graph_get_port_parent) (asoc_simple_card_parse_graph_dai [snd_soc_simple_card_utils]) (asoc_graph_card_probe [snd_soc_audio_graph_card]) Fixes: 0ef472a973eb ("of_graph: add of_graph_get_port_parent()") Fixes: 2692c1c63c29 ("ASoC: add audio-graph-card support") Fixes: 1689333f8311 ("ASoC: simple-card-utils: add asoc_simple_card_parse_graph_dai()") Signed-off-by: Tony Lindgren <tony@atomide.com> Reviewed-by: Rob Herring <robh@kernel.org> Tested-by: Antonio Borneo <borneo.antonio@gmail.com> Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/rt5670.h')
0 files changed, 0 insertions, 0 deletions