ALSA: hda: cs35l56: Don't use the device index as a calibration index
authorSimon Trimmer <simont@opensource.cirrus.com>
Wed, 21 Aug 2024 12:47:11 +0000 (12:47 +0000)
committerTakashi Iwai <tiwai@suse.de>
Wed, 21 Aug 2024 13:23:33 +0000 (15:23 +0200)
The HDA driver cannot assume that the order that the devices are
specified in the cirrus,dev-index matches the order of calibration
entries.

Only a calibration entry with a matching silicon id will be used.

Fixes: cfa43aaa7948 ("ALSA: hda: cs35l56: Apply amp calibration from EFI data")
Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Link: https://patch.msgid.link/20240821124711.44325-1-simont@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/cs35l56_hda.c

index a9dfd62637cf4cdbab2cca065751d459bdf34ab3..e3ac0e23ae321100befac7490a85fac8b3556e56 100644 (file)
@@ -1003,7 +1003,7 @@ int cs35l56_hda_common_probe(struct cs35l56_hda *cs35l56, int hid, int id)
                goto err;
        }
 
-       cs35l56->base.cal_index = cs35l56->index;
+       cs35l56->base.cal_index = -1;
 
        cs35l56_init_cs_dsp(&cs35l56->base, &cs35l56->cs_dsp);
        cs35l56->cs_dsp.client_ops = &cs35l56_hda_client_ops;