diff options
Diffstat (limited to 'sound/soc/soc-card.c')
-rw-r--r-- | sound/soc/soc-card.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sound/soc/soc-card.c b/sound/soc/soc-card.c index 285ab4c9c716..674a12258fc7 100644 --- a/sound/soc/soc-card.c +++ b/sound/soc/soc-card.c @@ -197,10 +197,16 @@ int snd_soc_card_late_probe(struct snd_soc_card *card) return 0; } -void snd_soc_card_fixup_controls(struct snd_soc_card *card) +int snd_soc_card_fixup_controls(struct snd_soc_card *card) { - if (card->fixup_controls) - card->fixup_controls(card); + if (card->fixup_controls) { + int ret = card->fixup_controls(card); + + if (ret < 0) + return soc_card_ret(card, ret); + } + + return 0; } int snd_soc_card_remove(struct snd_soc_card *card) |