diff options
-rw-r--r-- | sound/pci/hda/hda_intel.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index d5017adf9feb..c507c69029e3 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -375,6 +375,7 @@ enum { | |||
375 | ((pci)->device == 0x160c)) | 375 | ((pci)->device == 0x160c)) |
376 | 376 | ||
377 | #define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98) | 377 | #define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98) |
378 | #define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348) | ||
378 | 379 | ||
379 | static char *driver_short_names[] = { | 380 | static char *driver_short_names[] = { |
380 | [AZX_DRIVER_ICH] = "HDA Intel", | 381 | [AZX_DRIVER_ICH] = "HDA Intel", |
@@ -1744,6 +1745,10 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci, | |||
1744 | else | 1745 | else |
1745 | chip->bdl_pos_adj = bdl_pos_adj[dev]; | 1746 | chip->bdl_pos_adj = bdl_pos_adj[dev]; |
1746 | 1747 | ||
1748 | /* Workaround for a communication error on CFL (bko#199007) */ | ||
1749 | if (IS_CFL(pci)) | ||
1750 | chip->polling_mode = 1; | ||
1751 | |||
1747 | err = azx_bus_init(chip, model[dev], &pci_hda_io_ops); | 1752 | err = azx_bus_init(chip, model[dev], &pci_hda_io_ops); |
1748 | if (err < 0) { | 1753 | if (err < 0) { |
1749 | kfree(hda); | 1754 | kfree(hda); |