Skip to content

Commit

Permalink
ASoC: dapm: Use WARN_ON() instead of BUG_ON()
Browse files Browse the repository at this point in the history
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: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
  • Loading branch information
Takashi Iwai authored and Mark Brown committed Nov 7, 2013
1 parent 6c452bd commit bf4edea
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions sound/soc/soc-dapm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1444,7 +1444,7 @@ static void dapm_seq_run_coalesced(struct snd_soc_card *card,
power_list)->reg;

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

mask |= w->mask << w->shift;
Expand Down Expand Up @@ -3329,18 +3329,20 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w,
u64 fmt;
int ret;

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

/* We only support a single source and sink, pick the first */
source_p = list_first_entry(&w->sources, struct snd_soc_dapm_path,
list_sink);
sink_p = list_first_entry(&w->sinks, struct snd_soc_dapm_path,
list_source);

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

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

0 comments on commit bf4edea

Please sign in to comment.