Skip to content

Commit 247fd1e

Browse files
IronShenkuba-moo
authored andcommitted
net: hns3: initialize reset_timer before hclgevf_misc_irq_init()
Currently the misc irq is initialized before reset_timer setup. But it will access the reset_timer in the irq handler. So initialize the reset_timer earlier. Fixes: ff20009 ("net: hns3: remove unnecessary work in hclgevf_main") Signed-off-by: Jian Shen <[email protected]> Signed-off-by: Jijie Shao <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 98b1e3b commit 247fd1e

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2313,6 +2313,8 @@ static void hclgevf_state_init(struct hclgevf_dev *hdev)
23132313
clear_bit(HCLGEVF_STATE_RST_FAIL, &hdev->state);
23142314

23152315
INIT_DELAYED_WORK(&hdev->service_task, hclgevf_service_task);
2316+
/* timer needs to be initialized before misc irq */
2317+
timer_setup(&hdev->reset_timer, hclgevf_reset_timer, 0);
23162318

23172319
mutex_init(&hdev->mbx_resp.mbx_mutex);
23182320
sema_init(&hdev->reset_sem, 1);
@@ -3012,7 +3014,6 @@ static int hclgevf_init_hdev(struct hclgevf_dev *hdev)
30123014
HCLGEVF_DRIVER_NAME);
30133015

30143016
hclgevf_task_schedule(hdev, round_jiffies_relative(HZ));
3015-
timer_setup(&hdev->reset_timer, hclgevf_reset_timer, 0);
30163017

30173018
return 0;
30183019

0 commit comments

Comments
 (0)