|
@@ -375,6 +375,7 @@ enum {
|
|
|
((pci)->device == 0x160c))
|
|
|
|
|
|
#define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98)
|
|
|
+#define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348)
|
|
|
|
|
|
static char *driver_short_names[] = {
|
|
|
[AZX_DRIVER_ICH] = "HDA Intel",
|
|
@@ -1744,6 +1745,10 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci,
|
|
|
else
|
|
|
chip->bdl_pos_adj = bdl_pos_adj[dev];
|
|
|
|
|
|
+ /* Workaround for a communication error on CFL (bko#199007) */
|
|
|
+ if (IS_CFL(pci))
|
|
|
+ chip->polling_mode = 1;
|
|
|
+
|
|
|
err = azx_bus_init(chip, model[dev], &pci_hda_io_ops);
|
|
|
if (err < 0) {
|
|
|
kfree(hda);
|