提交 6a0dfdaa 编写于 作者: S Shaozhengchao 提交者: Yang Yingliang

net/hinic: slove the problem that VF may be disconnected when vm reboot and...

net/hinic: slove the problem that VF may be disconnected when vm reboot and receive lots of broadcast packets.

driver inclusion
category:bugfix
bugzilla:4472
CVE:NA

-----------------------------------------------------------------------

slove the problem that VF may be disconnected when vm reboot and
receive lots of broadcast packets. When vm is rebooting, VF receives
lots of broadcast packects and VF may be disconnected. VF receives
broadcast packect and VF driver will clear INTR_ON flag in setting
msix process. Then VF driver will not enable interrupt if INTR_ON
flag is set. As a result, VF will not process any hadware interrpt.
In order to solve this problem, VF driver should be enable the
interrpt first and then set msix state.
Signed-off-by: NShaozhengchao <shaozhengchao@huawei.com>
Reviewed-by: NLuoshaokai <luoshaokai@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 169337d4
......@@ -759,6 +759,8 @@ static int hinic_qps_irq_init(struct hinic_nic_dev *nic_dev)
goto req_tx_irq_err;
}
set_bit(HINIC_INTR_ON, &irq_cfg->intr_flag);
err = hinic_request_irq(irq_cfg, q_id);
if (err) {
nicif_err(nic_dev, drv, nic_dev->netdev, "Failed to request Rx irq\n");
......@@ -768,7 +770,6 @@ static int hinic_qps_irq_init(struct hinic_nic_dev *nic_dev)
hinic_set_msix_state(nic_dev->hwdev,
irq_cfg->msix_entry_idx,
HINIC_MSIX_ENABLE);
set_bit(HINIC_INTR_ON, &irq_cfg->intr_flag);
}
INIT_DELAYED_WORK(&nic_dev->moderation_task,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册