summaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-08-16 08:08:48 +0200
committerTakashi Iwai <tiwai@suse.de>2010-08-16 08:08:48 +0200
commita5ba6beb839cfa288960c92cd2668a2601c24dda (patch)
tree866c5f790dfa3e0a84a76d815541b1c1f18b4161 /sound/pci
parentda5cabf80e2433131bf0ed8993abc0f7ea618c73 (diff)
downloadop-kernel-dev-a5ba6beb839cfa288960c92cd2668a2601c24dda.zip
op-kernel-dev-a5ba6beb839cfa288960c92cd2668a2601c24dda.tar.gz
ALSA: riptide - Fix detection / load of firmware files
The detection and loading of firmeware on riptide driver has been broken due to rewrite of some codes, checking the presense wrongly. This patch fixes the logic again. Reference: kernel bug 16596 https://bugzilla.kernel.org/show_bug.cgi?id=16596 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/riptide/riptide.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c
index f64fb7d..ad5202e 100644
--- a/sound/pci/riptide/riptide.c
+++ b/sound/pci/riptide/riptide.c
@@ -1224,15 +1224,14 @@ static int try_to_load_firmware(struct cmdif *cif, struct snd_riptide *chip)
firmware.firmware.ASIC, firmware.firmware.CODEC,
firmware.firmware.AUXDSP, firmware.firmware.PROG);
+ if (!chip)
+ return 1;
+
for (i = 0; i < FIRMWARE_VERSIONS; i++) {
if (!memcmp(&firmware_versions[i], &firmware, sizeof(firmware)))
- break;
- }
- if (i >= FIRMWARE_VERSIONS)
- return 0; /* no match */
+ return 1; /* OK */
- if (!chip)
- return 1; /* OK */
+ }
snd_printdd("Writing Firmware\n");
if (!chip->fw_entry) {
OpenPOWER on IntegriCloud