+/* CFL and later models, preferring ASoC when DSP is available */lenovo thinkpad carbon 6th gen - no sound after this patch, and this
+#define IS_CFL_PLUS(pci) \
+ ((pci)->vendor == 0x8086 && \
+ ((pci)->device == 0xa348 || \
+ (pci)->device == 0x9dc8 || \
+ (pci)->device == 0x34c8))
+
static char *driver_short_names[] = {
[AZX_DRIVER_ICH] = "HDA Intel",
[AZX_DRIVER_PCH] = "HDA Intel PCH",
@@ -2056,7 +2063,7 @@ static int azx_probe(struct pci_dev *pci,
if (pci_id->driver_data & AZX_DCAPS_INTEL_SHARED) {
switch (skl_pci_binding) {
case SND_SKL_PCI_BIND_AUTO:
- if (pci->class != 0x040300) {
+ if (pci->class != 0x040300 && IS_CFL_PLUS(pci)) {
dev_info(&pci->dev, "The DSP is enabled on this platform, aborting probe\n");
return -ENODEV;
}
patch should fix sound issue for it (not tested, just checking the
condition and pci attrs)
But what interesting is that I cannot remove snd_soc_skl module
without reboot (to adjust "pci_binding=1" so make sound works),
because kernel hang after short period doing it:
# rmmod snd_soc_skl_ssp_clk
# rmmod snd_soc_skl
WARN_ON triggered on rmmod: