Merge tag 'asoc-v3.13-4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[cascardo/linux.git] / sound / soc / codecs / wm0010.c
index d5ebcb0..71ce315 100644 (file)
@@ -372,7 +372,8 @@ static int wm0010_firmware_load(const char *name, struct snd_soc_codec *codec)
        offset = 0;
        dsp = inforec->dsp_target;
        wm0010->boot_failed = false;
-       BUG_ON(!list_empty(&xfer_list));
+       if (WARN_ON(!list_empty(&xfer_list)))
+               return -EINVAL;
        init_completion(&done);
 
        /* First record should be INFO */
@@ -793,11 +794,11 @@ static int wm0010_set_sysclk(struct snd_soc_codec *codec, int source,
                wm0010->max_spi_freq = 0;
        } else {
                for (i = 0; i < ARRAY_SIZE(pll_clock_map); i++)
-                       if (freq >= pll_clock_map[i].max_sysclk)
+                       if (freq >= pll_clock_map[i].max_sysclk) {
+                               wm0010->max_spi_freq = pll_clock_map[i].max_pll_spi_speed;
+                               wm0010->pll_clkctrl1 = pll_clock_map[i].pll_clkctrl1;
                                break;
-
-               wm0010->max_spi_freq = pll_clock_map[i].max_pll_spi_speed;
-               wm0010->pll_clkctrl1 = pll_clock_map[i].pll_clkctrl1;
+                       }
        }
 
        return 0;