From nobody Sun Feb 8 00:49:30 2026 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B1A6B36124 for ; Sun, 2 Nov 2025 10:08:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762078093; cv=none; b=V4ID+0H2YyotqC2uc3J33vaUq70xBrirjQ0lytPv5gPQ0dm1uE4kVp2F/aa5lRch9UNh7y5Ak6ym+0h3npuGNHpGyUljpIkY0JFK1UKOPTbr9ZPBBqV0O40xtEkarqRumPnl0YTziwRyQ/iYBGefD7BTWOHTNNB7V+/Zw+y9I1U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762078093; c=relaxed/simple; bh=tA3WamGkzxLnaTBxEpR7Afe/4Mdf0Y+TETGijAd6X3Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hFbjT5Ol4XwV+7A38Ury6dqdDvDOYDFe/+IhPjJJhNqjqkMBkTFZAnn3QuxV3cDrvuEOY7Q1vP6GZjTBLxKfd2+2cmFunYWkoXo0N12LPpb9o7Ubzuojr1oO0pQ2ufx/bPGOLgoRMkTldwdEjlLnd7GZ3rKYPKtPS2aet2zgDbA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Ulh8MNM1; arc=none smtp.client-ip=209.85.218.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ulh8MNM1" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-b6d70df0851so670793266b.1 for ; Sun, 02 Nov 2025 02:08:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762078090; x=1762682890; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aStBH8TctGPHxEfq/a3r8j8mNWuMDrDthcxYNhkb9VY=; b=Ulh8MNM1wo2zRPmJ6tJv0d8o55TBZXxc16eCP4y6E05SWh7sXjOZ1jEzBIGp5G82St fzGDzqvlGvUloXyzh7WwuEYNwUHLLyWmBOmjhNyxM6j6uobnA2UV6USHSU9xiMAZZmvv whQ2nLS5mzH6RjUmg8nEGwemJZToqHvJcpAtT1X9pyeo4CFtvRipaWfdyOm5gjpg9Q+W OlS9TkKrBy6ohwlq1PVlYKatWXRGDujsV4J/HFuG18zrRI4Szz1c+a01epWsC63oxVRV kd9j8f70jc2pv3FQU5Kv9aR45teXYYLlhK0thPL0JFceoll51yYjoQR2QBNdhwaDBXNj wunA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762078090; x=1762682890; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aStBH8TctGPHxEfq/a3r8j8mNWuMDrDthcxYNhkb9VY=; b=cFWeL3el+MDwAP3DHeHpRjLGSA12Ti6fZNclHXrT248RCDtFTTPowUNr7T9bERIXX8 MvdxcyngyIBXTOwj8TtOMtMe7XfoWylqHHg+xZQB0o5Q1B7RlLjTePh8HdKilHYiv8wr 4GOenXoKgGF1TWn/Z5cuaNd8clfBSQjhhdqgPkTCfaNjE3P+GHwZbQM/ZxGrIDuRN3Me hGugrgxN/AcMqSELbE6+LJXAw1PYR789V6RWtnoKG8Lk9l1rRuZ8UqwgxSOXezz7m51d A2SKAEBBSOoDMbtpSVoY2KmVW0AOPUh0/MGqEvjqEmlzFDYrzF+MCFzlhd4v5JgEejRp GEZQ== X-Forwarded-Encrypted: i=1; AJvYcCUilxGQlh6srlMhKnPf2PPQgz3qbd16LPcJs61rce4w326H5klJGc+/LM8Qp6RiyZ3W0pUC9Qts7cItjYk=@vger.kernel.org X-Gm-Message-State: AOJu0YzoFg35JHO3elpK6wf+QXR1HT3u6PlzmMBQKAs4sOwhhrj73O9o yFxDSQaVwd8bM/Ku9S1PTgtEN9AqtO2ImJVE628wj1rWE4bAXcSrpJjS X-Gm-Gg: ASbGncuyubCIc2GLveEZTiGSp659pfsCV8FAXVdoCcqHV7iRbpsIxoQmKUjRpYUdZiu GqSWqJ8COaevdDwoC7D91z33F96rCvA+33NrRfx/pfJ5IrFw6MAbgljH5r/IS1hnH2PQ6bs9F8i lwYwGaGXCnFxkP16nWM+KNHrcfWDp3YCpeH5azwgNEhHgOsMH5iGuL3uYyL/hfFxCoSeWwqbvp0 tlp8Ef9CjEMiV08JyD5vWL6aqiHxNm31Qsu9Nw69PqOH3cxANBz1KOxP5KNo/Rc8PJ6Wd0OusOd uB3lHw8fkgKoSBIkBeG8xegnhbvDZQwf72J8K3XHw71o0v4u/Jj5eq1EC8zXS4vnZGxCY3gMgZO c/lj0K+//OG6Jt8T4zVh0GPE2K0yrq21e9ELMGpIf5kcCp9bEiv7m0X2R/EnAKzTvEFALegmers bOnSOy8xHduWzWF7PX0v7aGKCcWtuPjq8/ilmxIj814FpSvmAVMG82AZQciZv8+w4G1EzyNNNoR E5TKw== X-Google-Smtp-Source: AGHT+IG+eEnbIVIr3VFTaiiIEVBICkxTvYmwrL5KabaROTdtYo6BQDIRH4CfNWGQGBfJK2kGkaj3aw== X-Received: by 2002:a17:907:1b10:b0:b4e:a47f:715d with SMTP id a640c23a62f3a-b7070133963mr987837166b.17.1762078089780; Sun, 02 Nov 2025 02:08:09 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b7077d18d59sm687901766b.75.2025.11.02.02.08.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Nov 2025 02:08:09 -0800 (PST) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Vivien Didelot Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net 1/3] net: dsa: b53: fix enabling ip multicast Date: Sun, 2 Nov 2025 11:07:56 +0100 Message-ID: <20251102100758.28352-2-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251102100758.28352-1-jonas.gorski@gmail.com> References: <20251102100758.28352-1-jonas.gorski@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In the New Control register bit 1 is either reserved, or has a different function: Out of Range Error Discard When enabled, the ingress port discards any frames if the Length field is between 1500 and 1536 (excluding 1500 and 1536) and with good CRC. The actual bit for enabling IP multicast is bit 0, which was only explicitly enabled for BCM5325 so far. For older switch chips, this bit defaults to 0, so we want to enable it as well, while newer switch chips default to 1, and their documentation says "It is illegal to set this bit to zero." So drop the wrong B53_IPMC_FWD_EN define, enable the IP multicast bit also for other switch chips. While at it, rename it to (B53_)IP_MC as that is how it is called in Broadcom code. Fixes: 63cc54a6f073 ("net: dsa: b53: Fix egress flooding settings") Signed-off-by: Jonas Gorski Reviewed-by: Florian Fainelli --- drivers/net/dsa/b53/b53_common.c | 4 ++-- drivers/net/dsa/b53/b53_regs.h | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 2f846381d5a7..77571a46311e 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -371,11 +371,11 @@ static void b53_set_forwarding(struct b53_device *dev= , int enable) * frames should be flooded or not. */ b53_read8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, &mgmt); - mgmt |=3D B53_UC_FWD_EN | B53_MC_FWD_EN | B53_IPMC_FWD_EN; + mgmt |=3D B53_UC_FWD_EN | B53_MC_FWD_EN | B53_IP_MC; b53_write8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, mgmt); } else { b53_read8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, &mgmt); - mgmt |=3D B53_IP_MCAST_25; + mgmt |=3D B53_IP_MC; b53_write8(dev, B53_CTRL_PAGE, B53_IP_MULTICAST_CTRL, mgmt); } } diff --git a/drivers/net/dsa/b53/b53_regs.h b/drivers/net/dsa/b53/b53_regs.h index 309fe0e46dad..8ce1ce72e938 100644 --- a/drivers/net/dsa/b53/b53_regs.h +++ b/drivers/net/dsa/b53/b53_regs.h @@ -111,8 +111,7 @@ =20 /* IP Multicast control (8 bit) */ #define B53_IP_MULTICAST_CTRL 0x21 -#define B53_IP_MCAST_25 BIT(0) -#define B53_IPMC_FWD_EN BIT(1) +#define B53_IP_MC BIT(0) #define B53_UC_FWD_EN BIT(6) #define B53_MC_FWD_EN BIT(7) =20 --=20 2.43.0 From nobody Sun Feb 8 00:49:30 2026 Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC54A24469B for ; Sun, 2 Nov 2025 10:08:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762078094; cv=none; b=ZljwdznAKc63SjtAuGnitplCCKh/W+sdH/EmBpxp+neMk1MzUtSoWmRuTg3BM5wDXm7hzk7/i4FHUj4HCVoUsJt80PJh9nXCSXn2sG7BDjYcnFGwIbMpFQEQVCrntlylcZ407otCYQXUu2R/cQXUkkkC6hk3TgHdiyIqDz7/3mw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762078094; c=relaxed/simple; bh=Kk0QwPaRAZ9ti5p3bBxKE+qKelVinAAEdVK9YCEF2+g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RuQgY9W++biW2HF96IsPYBn+MGpMgX3rnHRH7fDtIgPG/Po24O/LJOOK+BryP9V6w4K7vilCNNNyVBI66w+CPCwtMoJLSn2q4MRql71KqnRbFEU8je5CQ8XaoiwvoB68mHDwFFWmmGMD6wFHPBKyi0mOJuPI29P8I9etOZWMN30= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=K/KTyXku; arc=none smtp.client-ip=209.85.208.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="K/KTyXku" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-63bdfd73e6eso8788780a12.0 for ; Sun, 02 Nov 2025 02:08:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762078091; x=1762682891; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dcBg3WESmBtU/e7ZXw1BuO2NrMipWvi+FGk/MOSixCE=; b=K/KTyXkujk4gMcIOIfid7Zycjh2U0WLek5ZmKKSzX2MMkHhrVzvFwmIwEihbWpJqXV avakgRb05B77x/8Mvep4rdWBasqkuDyUPnJaqo2cOQt232Tcp5Fx8vnYMBhUTQ0GqCZ9 ZcTbS2mTORYgN/OwAEt1fNh3m3fQ+c/DTgVRyq38b3vKzc5nUD95mSqgqQESblB93SC/ K2SsV71kqvR0hAJpDnwjR4nBd9lwpDax+JOTej0JEaq4pzypD0BeG8HNvlQdX4BNk5kT M6QQXQklEWzlAZ6G90n06LGZqDd/nsy1Z9dP770i9l/EH2LBXz7zLXkOIWTROpqoHEju 9dOQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762078091; x=1762682891; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dcBg3WESmBtU/e7ZXw1BuO2NrMipWvi+FGk/MOSixCE=; b=RaizlPIxa18aF13U6Cvgpj0CN4zJj7iaq6RL11rQJgxirf9N6xNDt6XRRy+Us+/UTl e6/PvFax8SU12nyOPBCQjWsV/yMhYWWwcxBwTTbcM0QIJPwk21qhwwvW09khlrCLAYDo c5i/sNdzwvnGTfd8MdwSZ+/5aTN2gdG9MN9cg2gnAAu2cx50pzjwoJWGv0vowqPsJYSS QZqw3s6gIw4o643DhRzdWQh7ATVCEc1i1SJWJNGCFg6YXI/RDIyqF2wqEFg9avNtGIPZ 2PEfyrJ3AhpMMOsgRqA+osFeaZT0aEBqzrp3FkBQe6H9TP0JgpsTKM4goY1OsWmz5tE3 0Mcg== X-Forwarded-Encrypted: i=1; AJvYcCU0hMzopMxMYN0C1Iqs89CByS6GesWKMOUDcgONrBVXlqdoyyI98yjWglwBZiblAK+prviPNVgMxPQFIdA=@vger.kernel.org X-Gm-Message-State: AOJu0YzKbzyICaJ2a9V5FTVp3SPeg3J5q9B1J2zKy32BkK5+nwyg4jrU jcW3rht7RobzmrZeMv25n84x2rMvfX+pgYEBlMAIduU/y/IrZZ1pWPcp X-Gm-Gg: ASbGnctCqv1iLLUFV7Wo48LO0Bj3Fxq+MgW73bh3urdqCgrKEjiDVeVj5DOjxz99Y4I TK0oq+XDgJyAYyWiNVvJez4VkSOgjL13Rq0VNTr+683kTf4WzmnZN/BKTtjCTw5mvaWlORu255f 9p3lORSQF0cN33cIoP64ttEhZiKDveyCqLhcmXdbB5BRKrV8Q4wGM3DsSHIeC5os4BIxiUaCMpw CydvA2vXDxtFjNHqpHWR3ZTrWz2IYUO0WffUrvUuiHUBplmlRBPzKhAvquq+fV3DflBtAWIPWMu /Tqn5cgpq4lSS/YYJ/AKCEdYHIGF9uwXMBmamzra3hjTHIuchEcZcPNKDzV4YaqMFG/Oa0FwE7W zAboaa9VfqF/dZQpCTx64OxKwDYT8VTKxVfdnjFqFfFPAXROqUoNUAqnHEGqTEZB9NaWyyeK7EX mNDF4EJvtP+JW1Z6D87SlnxccyfNbmF/nn+L/Mlhhe3vxXw6PUY9yyflRljVqjnKXcFpo= X-Google-Smtp-Source: AGHT+IFEwg0H/ZOkoKvaHy719X02ovYGNzJvMYxgE1bjzM/SuoLcpFybWMe1xEm+9adJKjvtSOJKmA== X-Received: by 2002:a05:6402:5243:b0:639:f648:1093 with SMTP id 4fb4d7f45d1cf-640752fd1a8mr9106095a12.4.1762078090884; Sun, 02 Nov 2025 02:08:10 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-640b9857d30sm722382a12.0.2025.11.02.02.08.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Nov 2025 02:08:10 -0800 (PST) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Vivien Didelot Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net 2/3] net: dsa: b53: stop reading ARL entries if search is done Date: Sun, 2 Nov 2025 11:07:57 +0100 Message-ID: <20251102100758.28352-3-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251102100758.28352-1-jonas.gorski@gmail.com> References: <20251102100758.28352-1-jonas.gorski@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The switch clears the ARL_SRCH_STDN bit when the search is done, i.e. it finished traversing the ARL table. This means that there will be no valid result, so we should not attempt to read and process any further entries. We only ever check the validity of the entries for 4 ARL bin chips, and only after having passed the first entry to the b53_fdb_copy(). This means that we always pass an invalid entry at the end to the b53_fdb_copy(). b53_fdb_copy() does check the validity though before passing on the entry, so it never gets passed on. On < 4 ARL bin chips, we will even continue reading invalid entries until we reach the result limit. Fixes: 1da6df85c6fb ("net: dsa: b53: Implement ARL add/del/dump operations") Signed-off-by: Jonas Gorski Reviewed-by: Florian Fainelli --- drivers/net/dsa/b53/b53_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 77571a46311e..82cce7b82da2 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -2018,7 +2018,7 @@ static int b53_arl_search_wait(struct b53_device *dev) do { b53_read8(dev, B53_ARLIO_PAGE, offset, ®); if (!(reg & ARL_SRCH_STDN)) - return 0; + return -ENOENT; =20 if (reg & ARL_SRCH_VLID) return 0; --=20 2.43.0 From nobody Sun Feb 8 00:49:30 2026 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA37A26B76A for ; Sun, 2 Nov 2025 10:08:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762078095; cv=none; b=iZxFFu80bQhcgIz/a/WN5O63Z+SbmiS6Jgl5vvOU/OrsGxqmb/js9smFqnQoXkl/mKhYfAjouFDDgnklnZg8p15iXGRaOV1BSCTEQd7/auulfxfn3qw4qaZ8ET6U0G7CEfJTeAGIUkl268dFp+YSyx8IvwwD3KECWLQrVoBrT40= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762078095; c=relaxed/simple; bh=WI4dQmbLbeoKJWX9vM37NTMbEzqifytGUR62+BIwjxA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qAY6E8C66oHJW/FoOvbZSK6/ram6eWZjuRLZOTI63jdlmp2kcgHqwxNGbABKNELanKEMb9bICVVycVEDQCUc6edASWERdK1xi/Z+D73v4Xf22jrJSIWbx0D7kkS3w9bFb3Y5YiGRrYo1IL3/rmwjVxNlWNllfNusNk27hHURVjw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kYh0UbBY; arc=none smtp.client-ip=209.85.218.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kYh0UbBY" Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-b64cdbb949cso569416966b.1 for ; Sun, 02 Nov 2025 02:08:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762078092; x=1762682892; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=G2yJpF3civfosxPDRl0+B7YozBy9HKcj8ntbRaz1DgQ=; b=kYh0UbBY9NtZbv/ElIRgi+dQBTnkgLnRsNUb0cXHnyGJQSZwyF1tAVDqnqp5sCZYqv PRMgOyxR2B+V5YVnc3+m8OEL5kHF103qvuHSRjQawMTFmF5LQJpxKbd2J1E0ea0Ic6rL pqjQJv5BUuYJ5ILFl45M81PXYR8bkaxqOyOuujRRMBjGvzm+b6qc02JtibtuxfpUNE4N bxLkF6x/MTBEV94i3FWvf+VCdLj512rVH6uct4nF1ugzDmIAG3hL+5gDnJxtOVWRb2aK p+mvIGA8VGb53EChYtf1JNVC9U50C4+zrpAoDxK8T3snoVkcjYedX0OgocjtlMNPvTei 7SLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762078092; x=1762682892; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=G2yJpF3civfosxPDRl0+B7YozBy9HKcj8ntbRaz1DgQ=; b=rPlJc1Z1mJBeWDbD50IDudhMyxmrPcNlcMZYgoVNbcSoDUTwM7rSlKEPUekMRoMQ97 qy5HJEO4zF4cpOF7GlrEeHI/fhZKpu5Di/3SalZ3RWV3nzoOQrMgrUg//tq8zBxKqzeL lbN+GEcO2rWezRryUh+eK0Rqjk+t+NsVl1WBcrPDVeYZaEqnNSiEppjx3t8q/cIUbiq4 1v2yYYEx/vF9MAllveBWYLFW2ZCdX5jM8vYlOMqkehUzsQQyCeSLcnb89dawf5adu+tU e2reCJRal1FWXvC1UdILAlE+DiTtDP0dkQkcw38c2voBf3Ag4+31sCHnwCAErGSbWLxJ W9Ng== X-Forwarded-Encrypted: i=1; AJvYcCWSLm86tfIlXTK/Q3XofdjusYBOy8ftiKXbW/gITqmuw8degC01N1p8M6/bc6EdWCwP1f4GwB14z/D/3AY=@vger.kernel.org X-Gm-Message-State: AOJu0Yy+HwkyszJLlS98VRsrWqxs6tD79RXH6m2ezIt4spsOGi46V+rC eajURGM8jG22LNeScwmMzYl+Zmip+w7armTQ9OscDFsTrUPCT8AeAIHp X-Gm-Gg: ASbGncsjCZMf0Gef+wF6aLnIwZpLsisSCxnPYZYz5AjXxBD6W3f8TXEc1/DIUTGIPDi cC2xrCJSQpSKdImzvHVNoQxS78XdkbCMKCDuLL81YSzyZr8glP3ULSinhtevolqvawAMYuxV2Bd xA6aJfcTogHKQ5/kjcsTmC5//WwvImU16SCq2gDbbWQ7ecD6G5PMZdPYxa8OlPPJu242wIlsVpk UJZzsBUb87Gv/icm+dmnLXldTCnqWlMbw0jeAdTAdvnub8dQlzEPBNMyCETmoinqaYajNyVI0Xc 0DN10WniYPMjny5Qu2vWyEFEFRaWviYTjmRQiWaStmUMkeTcdgNRwLs2KYPH1ljy3rB1/G7dRA7 C3B7mvhUBnVlyzCSd6gi9J/dMhcV3bkIWL9f0ehAfhAmQuLqKpTaP9pXAgVza1SJnOBwt3Ea05G pRdxtBJ5dPtjcfHyg/tPJh3TNalHyQ0OAs8Q92i/MtSHuvlDJ7H/BO2iiggLcPZbW4sJY= X-Google-Smtp-Source: AGHT+IEAG5nQVhDNsX+9aZwh3wdhl2C9Vw2sp0EPsCLie1GqINXDtUq7QOv1si7kb/MocTldpCex+g== X-Received: by 2002:a17:907:7ba3:b0:b6d:3e39:aa94 with SMTP id a640c23a62f3a-b70704bc306mr925456866b.32.1762078091901; Sun, 02 Nov 2025 02:08:11 -0800 (PST) Received: from localhost (dslb-002-205-018-238.002.205.pools.vodafone-ip.de. [2.205.18.238]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b7077c3ea2asm683153566b.38.2025.11.02.02.08.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Nov 2025 02:08:11 -0800 (PST) From: Jonas Gorski To: Florian Fainelli , Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Vivien Didelot Cc: Florian Fainelli , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net 3/3] net: dsa: b53: properly bound ARL searches for < 4 ARL bin chips Date: Sun, 2 Nov 2025 11:07:58 +0100 Message-ID: <20251102100758.28352-4-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251102100758.28352-1-jonas.gorski@gmail.com> References: <20251102100758.28352-1-jonas.gorski@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" When iterating over the ARL table we stop at max ARL entries / 2, but this is only valid if the chip actually returns 2 results at once. For chips with only one result register we will stop before reaching the end of the table if it is more than half full. Fix this by only dividing the maximum results by two if we have a chip with more than one result register (i.e. those with 4 ARL bins). Fixes: cd169d799bee ("net: dsa: b53: Bound check ARL searches") Signed-off-by: Jonas Gorski Reviewed-by: Florian Fainelli --- drivers/net/dsa/b53/b53_common.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_com= mon.c index 82cce7b82da2..6232eb5336a3 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -2068,13 +2068,16 @@ static int b53_fdb_copy(int port, const struct b53_= arl_entry *ent, int b53_fdb_dump(struct dsa_switch *ds, int port, dsa_fdb_dump_cb_t *cb, void *data) { + unsigned int count =3D 0, results_per_hit =3D 1; struct b53_device *priv =3D ds->priv; struct b53_arl_entry results[2]; - unsigned int count =3D 0; u8 offset; int ret; u8 reg; =20 + if (priv->num_arl_bins > 2) + results_per_hit =3D 2; + mutex_lock(&priv->arl_mutex); =20 if (is5325(priv) || is5365(priv)) @@ -2096,7 +2099,7 @@ int b53_fdb_dump(struct dsa_switch *ds, int port, if (ret) break; =20 - if (priv->num_arl_bins > 2) { + if (results_per_hit =3D=3D 2) { b53_arl_search_rd(priv, 1, &results[1]); ret =3D b53_fdb_copy(port, &results[1], cb, data); if (ret) @@ -2106,7 +2109,7 @@ int b53_fdb_dump(struct dsa_switch *ds, int port, break; } =20 - } while (count++ < b53_max_arl_entries(priv) / 2); + } while (count++ < b53_max_arl_entries(priv) / results_per_hit); =20 mutex_unlock(&priv->arl_mutex); =20 --=20 2.43.0