| From 2afe144a71932eafce10e4b0356a00033f410c5f Mon Sep 17 00:00:00 2001 |
| From: Takashi Sakamoto <o-takashi@sakamocchi.jp> |
| Date: Mon, 13 Jan 2020 17:46:28 +0900 |
| Subject: [PATCH] ALSA: dice: fix fallback from protocol extension into limited |
| functionality |
| |
| commit 3e2dc6bdb56893bc28257e482e1dbe5d39f313df upstream. |
| |
| At failure of attempt to detect protocol extension, ALSA dice driver |
| should be fallback to limited functionality. However it's not. |
| |
| This commit fixes it. |
| |
| Cc: <stable@vger.kernel.org> # v4.18+ |
| Fixes: 58579c056c1c9 ("ALSA: dice: use extended protocol to detect available stream formats") |
| Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> |
| Link: https://lore.kernel.org/r/20200113084630.14305-2-o-takashi@sakamocchi.jp |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/sound/firewire/dice/dice-extension.c b/sound/firewire/dice/dice-extension.c |
| index a63fcbc875ad..02f4a8318e38 100644 |
| --- a/sound/firewire/dice/dice-extension.c |
| +++ b/sound/firewire/dice/dice-extension.c |
| @@ -159,8 +159,11 @@ int snd_dice_detect_extension_formats(struct snd_dice *dice) |
| int j; |
| |
| for (j = i + 1; j < 9; ++j) { |
| - if (pointers[i * 2] == pointers[j * 2]) |
| + if (pointers[i * 2] == pointers[j * 2]) { |
| + // Fallback to limited functionality. |
| + err = -ENXIO; |
| goto end; |
| + } |
| } |
| } |
| |
| -- |
| 2.7.4 |
| |