
From: Jian Shen <shenjian15@huawei.com> driver inclusion category: bugfix bugzilla: NA CVE: NA ---------------------------- If client is unregistered, it's shouldn't change the tc mqprio configuration, which may cause uninit ring fail. Signed-off-by: Jian Shen <shenjian15@huawei.com> Signed-off-by: Yonglong Liu <liuyonglong@huawei.com> Reviewed-by: li yongxin <liyongxin1@huawei.com> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c index bf2f43281fda1..ef264a80b1871 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c @@ -379,6 +379,13 @@ static int hclge_setup_tc(struct hnae3_handle *h, u8 tc, u8 *prio_tc) struct hclge_dev *hdev = vport->back; int ret; + /* if client unregistered, it's not allowed to change + * mqprio configuration, which may cause uninit ring + * fail. + */ + if (!test_bit(HCLGE_STATE_NIC_REGISTERED, &hdev->state)) + return -EBUSY; + if (hdev->flag & HCLGE_FLAG_DCB_ENABLE) return -EINVAL; -- 2.25.1