diff options
author | Takashi Iwai <tiwai@suse.de> | 2021-08-17 09:46:27 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2021-08-17 09:46:27 +0200 |
commit | c0a7f9372cf0fc9bd0a73eb287664e26e5b18f1e (patch) | |
tree | c9c7b7b048b1d0e59917144d6769a08282ebca8b /sound/pci/hda/hda_intel.c | |
parent | ALSA: hda: Nuke unused reboot_notify callback (diff) | |
parent | ALSA: hda/via: Apply runtime PM workaround for ASUS B23E (diff) | |
download | linux-dev-c0a7f9372cf0fc9bd0a73eb287664e26e5b18f1e.tar.xz linux-dev-c0a7f9372cf0fc9bd0a73eb287664e26e5b18f1e.zip |
Merge branch 'for-linus' into for-next
Diffstat (limited to 'sound/pci/hda/hda_intel.c')
-rw-r--r-- | sound/pci/hda/hda_intel.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 3aa432d814a2..47777439961c 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -883,10 +883,11 @@ static unsigned int azx_get_pos_skl(struct azx *chip, struct azx_dev *azx_dev) return azx_get_pos_posbuf(chip, azx_dev); } -static void azx_shutdown_chip(struct azx *chip) +static void __azx_shutdown_chip(struct azx *chip, bool skip_link_reset) { azx_stop_chip(chip); - azx_enter_link_reset(chip); + if (!skip_link_reset) + azx_enter_link_reset(chip); azx_clear_irq_pending(chip); display_power(chip, false); } @@ -895,6 +896,11 @@ static void azx_shutdown_chip(struct azx *chip) static DEFINE_MUTEX(card_list_lock); static LIST_HEAD(card_list); +static void azx_shutdown_chip(struct azx *chip) +{ + __azx_shutdown_chip(chip, false); +} + static void azx_add_card_list(struct azx *chip) { struct hda_intel *hda = container_of(chip, struct hda_intel, chip); @@ -2357,7 +2363,7 @@ static void azx_shutdown(struct pci_dev *pci) return; chip = card->private_data; if (chip && chip->running) - azx_shutdown_chip(chip); + __azx_shutdown_chip(chip, true); } /* PCI IDs */ |