Re: [PATCH 1/3] ALSA: hda - Handle error from snd_hda_power_up*()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Quoting Takashi Iwai (2018-06-27 10:10:32)
> Although snd_hda_power_up() and snd_hda_power_up_pm() may fail, we
> haven't dealt with the error properly in many places.  It's an unusual
> situation but still possible.
> 
> This patch spots these places and adds the proper error paths.
> 
> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

Verdict from CI,

https://intel-gfx-ci.01.org/tree/drm-tip/Trybot_2430/issues.html

is that this one causes a bunch of pm fallout.

Do you mind doing a quick revert? Or working with our CI to find the bad
chunk?

On a second look,

> @@ -7310,7 +7339,8 @@ static void ca0132_free(struct hda_codec *codec)
>         struct ca0132_spec *spec = codec->spec;
>  
>         cancel_delayed_work_sync(&spec->unsol_hp_work);
> -       snd_hda_power_up(codec);
> +       if (snd_hda_power_up(codec) < 0)
> +               goto skip_shutdown;
>         switch (spec->quirk) {
>         case QUIRK_SBZ:
>                 sbz_exit_chip(codec);
> @@ -7326,6 +7356,7 @@ static void ca0132_free(struct hda_codec *codec)
>                 break;
>         }
>         snd_hda_power_down(codec);
> + skip_shutdown:
>         if (spec->mem_base)
>                 iounmap(spec->mem_base);
>         kfree(spec->spec_init_verbs);

would seem to be the only chunk more complicated than the rest.
-Chris
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux