Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp777239pxb; Tue, 5 Apr 2022 22:54:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzoeMEW3W9g2IlN7Bw5zeywG9EjCpLLJnhgoiwlaph27Ui+/b5F8ph0MrVEfayPylAG5zAw X-Received: by 2002:a17:903:1208:b0:151:93fd:d868 with SMTP id l8-20020a170903120800b0015193fdd868mr6995945plh.121.1649224461309; Tue, 05 Apr 2022 22:54:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649224461; cv=none; d=google.com; s=arc-20160816; b=VaSUndiDPFmOEHbPKdKJkKZ55oqweUTixCaWUhY19LIf86vY4YfCektb+SLLlY7QdE pF5WyQfv9jc4Krcx65SCUd7hl0/K0h12TXs+BnQHEpVNS+VkvDdIR9+0eTGO4TvN2QAy Ia19ly1AXj3BPkrEzwHPSmlZBDHGQqSwQADmSqcJBtZdl5aUS5+gepynmzpaVh+I4GW8 RN1V4A88+ZE6RGA+JPagbG8evElik1c9X8Mg+ZPksafxrrrNyGuvaNQ6MPPwgtXSbvJI j6af1Y1uamGIt9vweaBWq5EX3eqnh/AogQNiLAgUGT9RKE9tUi3rBMrqndaLaaKyaowM FMaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=KB7eeKA4GEuNzQXBWQN39Exhn39uYijUbs7A+7OaYGs=; b=TYMgXDXQ4CrA7QY6XtMHHcR5DFGSO2h2QDMZ9oM3H0cEKd85pf1DM/aBYDu7HE1dpi XsI6pXW17kERLULfnQdllwTL8+C5kDjrwzklFi3DQ8N3udOjJGHSGtDEc096n0aZ/2L4 SI4brbYgC2zMQvkBDdLTOdEgPpGdeKJIWdWyPfcaZJWoNt6yIWQk22YHcIrg9Yp3qF4R zoGfAHmd92GXYV6W70Pb3KRdXVfYcu9k1NELM18UUHYCYj1Zmb0IBlkil9n1htsEBSyg psOVEPL3A1rqxUraUrNnSPbcL84evczB6fkjHFLDOKw+nvTK2HppP1s7PfT0BvvbztcF vBEA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=rGg9v10m; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id m2-20020a655642000000b0038265eb37fasi484292pgs.780.2022.04.05.22.54.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Apr 2022 22:54:21 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=rGg9v10m; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 73FC447E7BE; Tue, 5 Apr 2022 22:08:28 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1577850AbiDEXRI (ORCPT + 99 others); Tue, 5 Apr 2022 19:17:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58822 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349871AbiDEJvu (ORCPT ); Tue, 5 Apr 2022 05:51:50 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BFF8029818; Tue, 5 Apr 2022 02:49:52 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 5776761673; Tue, 5 Apr 2022 09:49:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63889C385A1; Tue, 5 Apr 2022 09:49:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649152191; bh=MUa2LqDpzla2SRdH+L/Qkg29At5/s5tMgWJM3bkEicQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rGg9v10myw7rjIFiBoaB873Fkv/ub0jvdp6Tsps03kPYLJ1OQJQ9q/2H6aR/7hWLK mpsUcmeXfrMAl67pKRIf6Z1kO/zc+IXu3LwfTSUit5+PhkXTD6gU6Zy9oV/uV/uXzN C048nhV2t9QSYr90lg7AUy3DZBgBq5Xomi71lwL4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jian Shen , Guangbin Huang , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.15 661/913] net: hns3: fix bug when PF set the duplicate MAC address for VFs Date: Tue, 5 Apr 2022 09:28:43 +0200 Message-Id: <20220405070359.651514045@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405070339.801210740@linuxfoundation.org> References: <20220405070339.801210740@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Jian Shen [ Upstream commit ccb18f05535c96d26e2d559d402acb87700fc5a7 ] If the MAC address A is configured to vport A and then vport B. The MAC address of vport A in the hardware becomes invalid. If the address of vport A is changed to MAC address B, the driver needs to delete the MAC address A of vport A. Due to the MAC address A of vport A has become invalid in the hardware entry, so "-ENOENT" is returned. In this case, the "used_umv_size" value recorded in driver is not updated. As a result, the MAC entry status of the software is inconsistent with that of the hardware. Therefore, the driver updates the umv size even if the MAC entry cannot be found. Ensure that the software and hardware status is consistent. Fixes: ee4bcd3b7ae4 ("net: hns3: refactor the MAC address configure") Signed-off-by: Jian Shen Signed-off-by: Guangbin Huang Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index 66c407d0d507..b78de80d6c05 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -8714,12 +8714,11 @@ int hclge_rm_uc_addr_common(struct hclge_vport *vport, hnae3_set_bit(req.entry_type, HCLGE_MAC_VLAN_BIT0_EN_B, 0); hclge_prepare_mac_addr(&req, addr, false); ret = hclge_remove_mac_vlan_tbl(vport, &req); - if (!ret) { + if (!ret || ret == -ENOENT) { mutex_lock(&hdev->vport_lock); hclge_update_umv_space(vport, true); mutex_unlock(&hdev->vport_lock); - } else if (ret == -ENOENT) { - ret = 0; + return 0; } return ret; -- 2.34.1