|
@@ -4376,6 +4376,9 @@ static void ca0132_download_dsp(struct hda_codec *codec)
|
|
|
return; /* NOP */
|
|
|
#endif
|
|
|
|
|
|
+ if (spec->dsp_state == DSP_DOWNLOAD_FAILED)
|
|
|
+ return; /* don't retry failures */
|
|
|
+
|
|
|
chipio_enable_clocks(codec);
|
|
|
spec->dsp_state = DSP_DOWNLOADING;
|
|
|
if (!ca0132_download_dsp_images(codec))
|
|
@@ -4552,7 +4555,8 @@ static int ca0132_init(struct hda_codec *codec)
|
|
|
struct auto_pin_cfg *cfg = &spec->autocfg;
|
|
|
int i;
|
|
|
|
|
|
- spec->dsp_state = DSP_DOWNLOAD_INIT;
|
|
|
+ if (spec->dsp_state != DSP_DOWNLOAD_FAILED)
|
|
|
+ spec->dsp_state = DSP_DOWNLOAD_INIT;
|
|
|
spec->curr_chip_addx = INVALID_CHIP_ADDRESS;
|
|
|
|
|
|
snd_hda_power_up(codec);
|
|
@@ -4663,6 +4667,7 @@ static int patch_ca0132(struct hda_codec *codec)
|
|
|
codec->spec = spec;
|
|
|
spec->codec = codec;
|
|
|
|
|
|
+ spec->dsp_state = DSP_DOWNLOAD_INIT;
|
|
|
spec->num_mixers = 1;
|
|
|
spec->mixers[0] = ca0132_mixer;
|
|
|
|