From d959c893c939974af22718fd3849a7856f76d2bc Mon Sep 17 00:00:00 2001 From: Huazhong Tan Date: Thu, 23 May 2019 22:40:42 +0800 Subject: [PATCH] net: hns3: schedule mailbox task on system_unbound_wq driver inclusion category: bugfix bugzilla: NA CVE: NA Currently, the mailbox task will be scheduled on the CPU who received the interrupt, if there is a time-consuming task running on this CPU, PF could not handle the mailbox in time, then VF will wait for mailbox's reponse timeout. This patch fixes it by schedule mailbox task on system_unbound_wq. Feature or Bugfix:Bugfix Signed-off-by: Huazhong Tan Reviewed-by: lipeng Reviewed-by: Yang Yingliang Signed-off-by: Yang Yingliang --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index d8a068e794af..3fc707d58129 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -2448,7 +2448,7 @@ static void hclge_mbx_task_schedule(struct hclge_dev *hdev) { if (!test_bit(HCLGE_STATE_CMD_DISABLE, &hdev->state) && !test_and_set_bit(HCLGE_STATE_MBX_SERVICE_SCHED, &hdev->state)) - schedule_work(&hdev->mbx_service_task); + queue_work(system_unbound_wq, &hdev->mbx_service_task); } static void hclge_reset_task_schedule(struct hclge_dev *hdev) -- GitLab