66#include <linux/etherdevice.h>
77#include <linux/init.h>
88#include <linux/interrupt.h>
9+ #include <linux/irq.h>
910#include <linux/kernel.h>
1011#include <linux/module.h>
1112#include <linux/netdevice.h>
@@ -3770,7 +3771,7 @@ static int hclge_misc_irq_init(struct hclge_dev *hdev)
37703771 snprintf (hdev -> misc_vector .name , HNAE3_INT_NAME_LEN , "%s-misc-%s" ,
37713772 HCLGE_NAME , pci_name (hdev -> pdev ));
37723773 ret = request_irq (hdev -> misc_vector .vector_irq , hclge_misc_irq_handle ,
3773- 0 , hdev -> misc_vector .name , hdev );
3774+ IRQF_NO_AUTOEN , hdev -> misc_vector .name , hdev );
37743775 if (ret ) {
37753776 hclge_free_vector (hdev , 0 );
37763777 dev_err (& hdev -> pdev -> dev , "request misc irq(%d) fail\n" ,
@@ -11906,9 +11907,6 @@ static int hclge_init_ae_dev(struct hnae3_ae_dev *ae_dev)
1190611907
1190711908 hclge_init_rxd_adv_layout (hdev );
1190811909
11909- /* Enable MISC vector(vector0) */
11910- hclge_enable_vector (& hdev -> misc_vector , true);
11911-
1191211910 ret = hclge_init_wol (hdev );
1191311911 if (ret )
1191411912 dev_warn (& pdev -> dev ,
@@ -11921,6 +11919,10 @@ static int hclge_init_ae_dev(struct hnae3_ae_dev *ae_dev)
1192111919 hclge_state_init (hdev );
1192211920 hdev -> last_reset_time = jiffies ;
1192311921
11922+ /* Enable MISC vector(vector0) */
11923+ enable_irq (hdev -> misc_vector .vector_irq );
11924+ hclge_enable_vector (& hdev -> misc_vector , true);
11925+
1192411926 dev_info (& hdev -> pdev -> dev , "%s driver initialization finished.\n" ,
1192511927 HCLGE_DRIVER_NAME );
1192611928
@@ -12326,7 +12328,7 @@ static void hclge_uninit_ae_dev(struct hnae3_ae_dev *ae_dev)
1232612328
1232712329 /* Disable MISC vector(vector0) */
1232812330 hclge_enable_vector (& hdev -> misc_vector , false);
12329- synchronize_irq (hdev -> misc_vector .vector_irq );
12331+ disable_irq (hdev -> misc_vector .vector_irq );
1233012332
1233112333 /* Disable all hw interrupts */
1233212334 hclge_config_mac_tnl_int (hdev , false);
0 commit comments