|
@@ -4566,6 +4566,11 @@ int snd_hda_multi_out_analog_prepare(struct hda_codec *codec,
|
|
|
snd_hda_codec_setup_stream(codec, mout->hp_nid, stream_tag,
|
|
|
0, format);
|
|
|
/* extra outputs copied from front */
|
|
|
+ for (i = 0; i < ARRAY_SIZE(mout->hp_out_nid); i++)
|
|
|
+ if (!mout->no_share_stream && mout->hp_out_nid[i])
|
|
|
+ snd_hda_codec_setup_stream(codec,
|
|
|
+ mout->hp_out_nid[i],
|
|
|
+ stream_tag, 0, format);
|
|
|
for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++)
|
|
|
if (!mout->no_share_stream && mout->extra_out_nid[i])
|
|
|
snd_hda_codec_setup_stream(codec,
|
|
@@ -4598,6 +4603,10 @@ int snd_hda_multi_out_analog_cleanup(struct hda_codec *codec,
|
|
|
snd_hda_codec_cleanup_stream(codec, nids[i]);
|
|
|
if (mout->hp_nid)
|
|
|
snd_hda_codec_cleanup_stream(codec, mout->hp_nid);
|
|
|
+ for (i = 0; i < ARRAY_SIZE(mout->hp_out_nid); i++)
|
|
|
+ if (mout->hp_out_nid[i])
|
|
|
+ snd_hda_codec_cleanup_stream(codec,
|
|
|
+ mout->hp_out_nid[i]);
|
|
|
for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++)
|
|
|
if (mout->extra_out_nid[i])
|
|
|
snd_hda_codec_cleanup_stream(codec,
|