Re: [PATCH v3 02/10] ALSA: hda/hdmi - allow control creation without a linked pcm

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

 





On 9/10/19 1:29 PM, Kai Vehmanen wrote:
Fix the logic in generic_hdmi_build_controls() to identify
unused hda_pcm entries by searching for SNDRV_PCM_INVALID_DEVICE.
This matches with logic in snd_hda_codec_build_pcms().

Signed-off-by: Kai Vehmanen <kai.vehmanen@xxxxxxxxxxxxxxx>
---
  sound/pci/hda/patch_hdmi.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 59aaee4a40fd..c52726e19f44 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -2183,11 +2183,13 @@ static int generic_hdmi_build_jack(struct hda_codec *codec, int pcm_idx)
  static int generic_hdmi_build_controls(struct hda_codec *codec)
  {
  	struct hdmi_spec *spec = codec->spec;
+	struct hda_pcm *hda_pcm;
  	int dev, err;
  	int pin_idx, pcm_idx;
for (pcm_idx = 0; pcm_idx < spec->pcm_used; pcm_idx++) {
-		if (!get_pcm_rec(spec, pcm_idx)->pcm) {
+		hda_pcm = get_pcm_rec(spec, pcm_idx);
+		if (hda_pcm->device == SNDRV_PCM_INVALID_DEVICE) {

I find it hard to follow the logic.
Before this patch only device 0 would be considered NO_PCM
Not it's -1, so wondering if this is a fix unrelated to this series or if there is a dependency on follow-up patches?

#define SNDRV_PCM_INVALID_DEVICE      (-1)

  			/* no PCM: mark this for skipping permanently */
  			set_bit(pcm_idx, &spec->pcm_bitmap);
  			continue;

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel



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

  Powered by Linux