]> Pileus Git - ~andy/linux/blobdiff - sound/pci/hda/patch_hdmi.c
Merge branch 'for-linus' into for-next
[~andy/linux] / sound / pci / hda / patch_hdmi.c
index 1b3b4ee3e8a7b2a35e21692110340cbf3dc71e42..85236da790469a9f9ebb9798d7dfb6399e97760a 100644 (file)
@@ -714,9 +714,10 @@ static void hdmi_setup_fake_chmap(unsigned char *map, int ca)
 
 static void hdmi_setup_channel_mapping(struct hda_codec *codec,
                                       hda_nid_t pin_nid, bool non_pcm, int ca,
-                                      int channels, unsigned char *map)
+                                      int channels, unsigned char *map,
+                                      bool chmap_set)
 {
-       if (!non_pcm && map) {
+       if (!non_pcm && chmap_set) {
                hdmi_manual_setup_channel_mapping(codec, pin_nid,
                                                  channels, map);
        } else {
@@ -905,7 +906,8 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec, int pin_idx,
                            pin_nid,
                            channels);
                hdmi_setup_channel_mapping(codec, pin_nid, non_pcm, ca,
-                                          channels, per_pin->chmap);
+                                          channels, per_pin->chmap,
+                                          per_pin->chmap_set);
                hdmi_stop_infoframe_trans(codec, pin_nid);
                hdmi_fill_audio_infoframe(codec, pin_nid,
                                            ai.bytes, sizeof(ai));
@@ -915,7 +917,8 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec, int pin_idx,
                 * accordingly */
                if (per_pin->non_pcm != non_pcm)
                        hdmi_setup_channel_mapping(codec, pin_nid, non_pcm, ca,
-                                                  channels, per_pin->chmap);
+                                                  channels, per_pin->chmap,
+                                                  per_pin->chmap_set);
        }
 
        per_pin->non_pcm = non_pcm;