aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/hda/hda_intel.c5
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
379static char *driver_short_names[] = { 380static 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);