@@ -883,10 +883,11 @@ static unsigned int azx_get_pos_skl(struct azx *chip, struct azx_dev *azx_dev)
883
883
return azx_get_pos_posbuf (chip , azx_dev );
884
884
}
885
885
886
- static void azx_shutdown_chip (struct azx * chip )
886
+ static void __azx_shutdown_chip (struct azx * chip , bool skip_link_reset )
887
887
{
888
888
azx_stop_chip (chip );
889
- azx_enter_link_reset (chip );
889
+ if (!skip_link_reset )
890
+ azx_enter_link_reset (chip );
890
891
azx_clear_irq_pending (chip );
891
892
display_power (chip , false);
892
893
}
@@ -895,6 +896,11 @@ static void azx_shutdown_chip(struct azx *chip)
895
896
static DEFINE_MUTEX (card_list_lock );
896
897
static LIST_HEAD (card_list );
897
898
899
+ static void azx_shutdown_chip (struct azx * chip )
900
+ {
901
+ __azx_shutdown_chip (chip , false);
902
+ }
903
+
898
904
static void azx_add_card_list (struct azx * chip )
899
905
{
900
906
struct hda_intel * hda = container_of (chip , struct hda_intel , chip );
@@ -2385,7 +2391,7 @@ static void azx_shutdown(struct pci_dev *pci)
2385
2391
return ;
2386
2392
chip = card -> private_data ;
2387
2393
if (chip && chip -> running )
2388
- azx_shutdown_chip (chip );
2394
+ __azx_shutdown_chip (chip , true );
2389
2395
}
2390
2396
2391
2397
/* PCI IDs */
0 commit comments