aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_intel.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/hda_intel.c')
-rw-r--r--sound/pci/hda/hda_intel.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 7a09404579a7..956871d8b3d2 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2994,8 +2994,7 @@ static int azx_runtime_suspend(struct device *dev)
2994 STATESTS_INT_MASK); 2994 STATESTS_INT_MASK);
2995 2995
2996 azx_stop_chip(chip); 2996 azx_stop_chip(chip);
2997 if (!chip->bus->avoid_link_reset) 2997 azx_enter_link_reset(chip);
2998 azx_enter_link_reset(chip);
2999 azx_clear_irq_pending(chip); 2998 azx_clear_irq_pending(chip);
3000 if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL) 2999 if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL)
3001 hda_display_power(false); 3000 hda_display_power(false);
@@ -3434,6 +3433,10 @@ static void check_probe_mask(struct azx *chip, int dev)
3434 * white/black-list for enable_msi 3433 * white/black-list for enable_msi
3435 */ 3434 */
3436static struct snd_pci_quirk msi_black_list[] = { 3435static struct snd_pci_quirk msi_black_list[] = {
3436 SND_PCI_QUIRK(0x103c, 0x2191, "HP", 0), /* AMD Hudson */
3437 SND_PCI_QUIRK(0x103c, 0x2192, "HP", 0), /* AMD Hudson */
3438 SND_PCI_QUIRK(0x103c, 0x21f7, "HP", 0), /* AMD Hudson */
3439 SND_PCI_QUIRK(0x103c, 0x21fa, "HP", 0), /* AMD Hudson */
3437 SND_PCI_QUIRK(0x1043, 0x81f2, "ASUS", 0), /* Athlon64 X2 + nvidia */ 3440 SND_PCI_QUIRK(0x1043, 0x81f2, "ASUS", 0), /* Athlon64 X2 + nvidia */
3438 SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */ 3441 SND_PCI_QUIRK(0x1043, 0x81f6, "ASUS", 0), /* nvidia */
3439 SND_PCI_QUIRK(0x1043, 0x822d, "ASUS", 0), /* Athlon64 X2 + nvidia MCP55 */ 3442 SND_PCI_QUIRK(0x1043, 0x822d, "ASUS", 0), /* Athlon64 X2 + nvidia MCP55 */
@@ -3877,7 +3880,8 @@ static int azx_probe(struct pci_dev *pci,
3877 } 3880 }
3878 3881
3879 dev++; 3882 dev++;
3880 complete_all(&chip->probe_wait); 3883 if (chip->disabled)
3884 complete_all(&chip->probe_wait);
3881 return 0; 3885 return 0;
3882 3886
3883out_free: 3887out_free:
@@ -3954,10 +3958,10 @@ static int azx_probe_continue(struct azx *chip)
3954 if ((chip->driver_caps & AZX_DCAPS_PM_RUNTIME) || chip->use_vga_switcheroo) 3958 if ((chip->driver_caps & AZX_DCAPS_PM_RUNTIME) || chip->use_vga_switcheroo)
3955 pm_runtime_put_noidle(&pci->dev); 3959 pm_runtime_put_noidle(&pci->dev);
3956 3960
3957 return 0;
3958
3959out_free: 3961out_free:
3960 chip->init_failed = 1; 3962 if (err < 0)
3963 chip->init_failed = 1;
3964 complete_all(&chip->probe_wait);
3961 return err; 3965 return err;
3962} 3966}
3963 3967