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=-19.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,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 5B591C4338F for ; Tue, 27 Jul 2021 13:24:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4947C61A07 for ; Tue, 27 Jul 2021 13:24:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237288AbhG0NY5 (ORCPT ); Tue, 27 Jul 2021 09:24:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:57240 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237048AbhG0NWe (ORCPT ); Tue, 27 Jul 2021 09:22:34 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 20D5E61AF9; Tue, 27 Jul 2021 13:20:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627392030; bh=nSD7LdegPn+9sy55d3Yjt/Quqp+eNrJSeU6quDsLdrY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KDlvLixeB97UkZVSmyQcUxgjsoEvchCAKZYJ7qO9PtGtUuiZ2e1zdWR4OfT/QZjS8 0522qwn5rnvpwll9aI5P49u1c7igsMPwgDCFF8k6TpXoozZsnRYivCqEJb7zyjclGO d+GxlbSigX/Xj0m3ZtdU1qfylK+gaENhH/2XVZIyRdJfOdFAn02LV2Z+FUnYvh2OkZ eKL1JWA7jZtbZAQZ7rSG04yo9bf7K/pfLQiKDTplch1gQoj7N5nGEnD4PogtXw0yiP +E+EQ7r7Tayc895x7iWx14P0AqyJ+157kUJCYlfkp47wxtxR36jjtJ3vZDytZ0GHhN 1h1+jvUElBQtw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Eric Woudstra , "David S . Miller" , Sasha Levin , netdev@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH AUTOSEL 4.14 4/5] mt7530 fix mt7530_fdb_write vid missing ivl bit Date: Tue, 27 Jul 2021 09:20:23 -0400 Message-Id: <20210727132024.835810-4-sashal@kernel.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210727132024.835810-1-sashal@kernel.org> References: <20210727132024.835810-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Eric Woudstra [ Upstream commit 11d8d98cbeef1496469b268d79938b05524731e8 ] According to reference guides mt7530 (mt7620) and mt7531: NOTE: When IVL is reset, MAC[47:0] and FID[2:0] will be used to read/write the address table. When IVL is set, MAC[47:0] and CVID[11:0] will be used to read/write the address table. Since the function only fills in CVID and no FID, we need to set the IVL bit. The existing code does not set it. This is a fix for the issue I dropped here earlier: http://lists.infradead.org/pipermail/linux-mediatek/2021-June/025697.html With this patch, it is now possible to delete the 'self' fdb entry manually. However, wifi roaming still has the same issue, the entry does not get deleted automatically. Wifi roaming also needs a fix somewhere else to function correctly in combination with vlan. Signed-off-by: Eric Woudstra Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/dsa/mt7530.c | 1 + drivers/net/dsa/mt7530.h | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index 58c16aa00a70..8c7b67018b45 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -414,6 +414,7 @@ mt7530_fdb_write(struct mt7530_priv *priv, u16 vid, int i; reg[1] |= vid & CVID_MASK; + reg[1] |= ATA2_IVL; reg[2] |= (aging & AGE_TIMER_MASK) << AGE_TIMER; reg[2] |= (port_mask & PORT_MAP_MASK) << PORT_MAP; /* STATIC_ENT indicate that entry is static wouldn't diff --git a/drivers/net/dsa/mt7530.h b/drivers/net/dsa/mt7530.h index 74db9822eb40..3a4aab2b1898 100644 --- a/drivers/net/dsa/mt7530.h +++ b/drivers/net/dsa/mt7530.h @@ -41,6 +41,7 @@ #define STATIC_EMP 0 #define STATIC_ENT 3 #define MT7530_ATA2 0x78 +#define ATA2_IVL BIT(15) /* Register for address table write data */ #define MT7530_ATWD 0x7c -- 2.30.2