Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bf4edea8 authored by Takashi Iwai's avatar Takashi Iwai Committed by Mark Brown
Browse files

ASoC: dapm: Use WARN_ON() instead of BUG_ON()



Leaving BUG_ON() in a core layer like dapm is rather inappropriate as
it leads to panic(), even though sanity checks might be still useful
for debugging.
Instead, Use WARN_ON(), and handle the error cases accordingly.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 6c452bda
Loading
Loading
Loading
Loading
+8 −6
Original line number Original line Diff line number Diff line
@@ -1444,7 +1444,7 @@ static void dapm_seq_run_coalesced(struct snd_soc_card *card,
			       power_list)->reg;
			       power_list)->reg;


	list_for_each_entry(w, pending, power_list) {
	list_for_each_entry(w, pending, power_list) {
		BUG_ON(reg != w->reg);
		WARN_ON(reg != w->reg);
		w->power = w->new_power;
		w->power = w->new_power;


		mask |= w->mask << w->shift;
		mask |= w->mask << w->shift;
@@ -3329,8 +3329,9 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w,
	u64 fmt;
	u64 fmt;
	int ret;
	int ret;


	BUG_ON(!config);
	if (WARN_ON(!config) ||
	BUG_ON(list_empty(&w->sources) || list_empty(&w->sinks));
	    WARN_ON(list_empty(&w->sources) || list_empty(&w->sinks)))
		return -EINVAL;


	/* We only support a single source and sink, pick the first */
	/* We only support a single source and sink, pick the first */
	source_p = list_first_entry(&w->sources, struct snd_soc_dapm_path,
	source_p = list_first_entry(&w->sources, struct snd_soc_dapm_path,
@@ -3338,9 +3339,10 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w,
	sink_p = list_first_entry(&w->sinks, struct snd_soc_dapm_path,
	sink_p = list_first_entry(&w->sinks, struct snd_soc_dapm_path,
				  list_source);
				  list_source);


	BUG_ON(!source_p || !sink_p);
	if (WARN_ON(!source_p || !sink_p) ||
	BUG_ON(!sink_p->source || !source_p->sink);
	    WARN_ON(!sink_p->source || !source_p->sink) ||
	BUG_ON(!source_p->source || !sink_p->sink);
	    WARN_ON(!source_p->source || !sink_p->sink))
		return -EINVAL;


	source = source_p->source->priv;
	source = source_p->source->priv;
	sink = sink_p->sink->priv;
	sink = sink_p->sink->priv;