Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp838532pxb; Wed, 6 Apr 2022 01:23:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxlRLjNMToLk07xGcT5A/2GYaod9xOMzigeMeLiwx7C8gGheXwTi7XrDwY2VbBBSkP1B2iU X-Received: by 2002:a63:78ca:0:b0:398:ae5:6515 with SMTP id t193-20020a6378ca000000b003980ae56515mr6204032pgc.345.1649233429123; Wed, 06 Apr 2022 01:23:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649233429; cv=none; d=google.com; s=arc-20160816; b=rtNjUfFTSNRYJ31hYS7xaPvYxP3+9pT6/2qv8Jhs36zKeFIuBubBeKDv0opvwiNvIs Q1XQI43dA2hh2c4cX8UMbNBXPxUZm6XaZO5+NZXvxyAcJoSrgfoLTaNA5DTdZcz89/vR 9L09fbr5YA3SToryEtKBcvkeAwmz5OnywSFCsqY3SRKHhxdEfqux36SseXyUtZoLWD5J 9GtUMWUBvkRHnsAAkcVcTJR+5PL91ESCJroga4Wy6rUQmdUx7XcUb5w8g1YcBcFxgalV Zv6D7xG7LEHVX/U9lYlrzHwMFvlnsmBJYe4T4D95IkCzbVXZHQkGywXWPBymK+bLHU9G FD5g== 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=eTFgmqp3T8LqO0jjsyyVX/NjdPeP0swYucgqLhaDTos=; b=VTtO8lG+bPcSKGGa64bwNBjaJDF+fGzu6Yjoh9RgVmg9GMnMbYslVEdcgkSiK3VJvN CBB12CjUe0Mex+/2HiUQeS91+eH2Kq7s1mcXJ7xCFu3dRsml4845tPPOTg3wMDbKlw98 EvOF3cEOzYD9b+PGUmnBIDd++AOuvoCS50uzwjA+alcdi0npArjgToTxSTT7RlOxmage tEmy7bbG0dEYjZYQ0YSYNORHmqNGW4avCfV+J+gQQj3G55qJR4/HxXt2aDmV4Lv786bQ pMtDU81acQ41/at6EVWuqj5/bweN2ImwufprqGS+JCsHa1DdoGVIlxksz+gruwbmMfL8 GbsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=TbwJtdub; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 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. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id d74-20020a63364d000000b0038243dc6a41si15403483pga.337.2022.04.06.01.23.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 01:23:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=TbwJtdub; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 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 D90EB55D6FE; Wed, 6 Apr 2022 01:13:24 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1391539AbiDEUGh (ORCPT + 99 others); Tue, 5 Apr 2022 16:06:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59254 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239467AbiDEKfX (ORCPT ); Tue, 5 Apr 2022 06:35:23 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5103B4D24A; Tue, 5 Apr 2022 03:20:54 -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 ams.source.kernel.org (Postfix) with ESMTPS id 01CF7B81C8A; Tue, 5 Apr 2022 10:20:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 57115C385A1; Tue, 5 Apr 2022 10:20:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649154051; bh=xmpYNe7lP0sm/crrazOov450MjnZ3vDtEETdr1+zEH8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TbwJtdubnwIUzkrPJtA1jE2jDyhdFM4J0XDY7f0axQ4kSBR9o35aA/1OlA2889eM0 +/k3q5/e65EkSsvSEQnZHQJVO+yIrV9otjs+oaqZBEGSaWs1FVWN+WhWvt/kJZ7YGT KE5bOC48iAuTZXan7SGI48A88VvmXOFMQXm9lzCI= 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.10 439/599] net: hns3: fix bug when PF set the duplicate MAC address for VFs Date: Tue, 5 Apr 2022 09:32:13 +0200 Message-Id: <20220405070311.896333933@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405070258.802373272@linuxfoundation.org> References: <20220405070258.802373272@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 7b94764b4f5d..49129e8002fc 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -7616,12 +7616,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