forked from Minki/linux
Revert "ALSA: hda: Drop workaround for a hang at shutdown again"
This reverts commit8fc8e90315
. It was expected that the fixes in HD-audio codec side would make the workaround redundant, but unfortunately it doesn't seem sufficing. Resurrect the workaround for now. Fixes:8fc8e90315
("ALSA: hda: Drop workaround for a hang at shutdown again") BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=214045 Link: https://lore.kernel.org/r/20210913124330.24530-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
64794d6db4
commit
6f44578430
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user