From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9967C3815B for ; Wed, 15 Apr 2020 11:50:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A158D20732 for ; Wed, 15 Apr 2020 11:50:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1586951428; bh=r2aI73LLBLm0iYUVrWWkWJG9n9Bcu77tZZmdLbdw6lc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=vFWNVxd6SkIWBzL5Nj+cXRQB/+L9vIIBE/9hIDHU2pFdsFHqcbiy97+f2UiPECAw5 BsjTjx1JfhydU3iU53RymH7a8bQkY4IFRylv2lZ8mnNiIChHRWhHvWouSiG85friHA jTvSta0YZ2ECS6ydRAp0Lf/uAUdC+ZUnSwE1t8is= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2409538AbgDOLuW (ORCPT ); Wed, 15 Apr 2020 07:50:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:35346 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2409003AbgDOLnd (ORCPT ); Wed, 15 Apr 2020 07:43:33 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A2D0D214AF; Wed, 15 Apr 2020 11:43:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1586951013; bh=r2aI73LLBLm0iYUVrWWkWJG9n9Bcu77tZZmdLbdw6lc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=S2uwO2Ksc14dHPlJyhq/Iju3+0HOzpbdxRL866Z232BCeOO+V6KHQqOWsS0sqHm0p Caf76qdkDebGtg1gPYeors/ak4SDQM6doEZ6PFkWdxUu1walpvk+0egB7hanlBfs9N mXfGpyNVf9gRh8tQgXhBFxEH5/tYTty8HeAn5k0g= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Herat Ramani , Rahul Lakkireddy , "David S . Miller" , Sasha Levin , netdev@vger.kernel.org Subject: [PATCH AUTOSEL 5.5 056/106] cxgb4: fix MPS index overwrite when setting MAC address Date: Wed, 15 Apr 2020 07:41:36 -0400 Message-Id: <20200415114226.13103-56-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200415114226.13103-1-sashal@kernel.org> References: <20200415114226.13103-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Herat Ramani [ Upstream commit 41aa8561ca3fc5748391f08cc5f3e561923da52c ] cxgb4_update_mac_filt() earlier requests firmware to add a new MAC address into MPS TCAM. The MPS TCAM index returned by firmware is stored in pi->xact_addr_filt. However, the saved MPS TCAM index gets overwritten again with the return value of cxgb4_update_mac_filt(), which is wrong. When trying to update to another MAC address later, the wrong MPS TCAM index is sent to firmware, which causes firmware to return error, because it's not the same MPS TCAM index that firmware had sent earlier to driver. So, fix by removing the wrong overwrite being done after call to cxgb4_update_mac_filt(). Fixes: 3f8cfd0d95e6 ("cxgb4/cxgb4vf: Program hash region for {t4/t4vf}_change_mac()") Signed-off-by: Herat Ramani Signed-off-by: Rahul Lakkireddy Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c index b11ba4565c20b..9934c8b0f0b07 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c @@ -3110,7 +3110,6 @@ static int cxgb_set_mac_addr(struct net_device *dev, void *p) return ret; memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); - pi->xact_addr_filt = ret; return 0; } -- 2.20.1