From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yw1-f171.google.com (mail-yw1-f171.google.com [209.85.128.171]) (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 92DF123392D for ; Mon, 1 Jun 2026 02:53:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780282428; cv=none; b=fswX8eYDOFvk2aPKJhMvcgVFBAROYmUbOMQXq+brrUe7FMWX1PEA+SFUEsMLe1W45Reiv7zJuXU146W80wkSTAg/wuOGRZSpW+z1vUDRTVvANd0kSK7k9eD2rJdu36VNzCKkthNYCsVU5WaJxJMAVtWpdryW45Mg6Wbizxz4mLQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780282428; c=relaxed/simple; bh=wJON3ND0A32cOFWdeF/I1FnClnEqHzAji1C/rkxEVe0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=W7eoeSE5HPvVTEzX+uex2ZmM+NXcigQhrH4kD2LppD42IdAIcPmwn56o5pZHt+6eR45WFGO8OVblMMpENofUCRRs43gONmBuy+Uuls4XY+jMDD81f245Cbg84wufggW/z2nsusTcDpTGYyp0VRgnO2bYpuAc4ewwNplFYz0WBpc= 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=H+2YG407; arc=none smtp.client-ip=209.85.128.171 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="H+2YG407" Received: by mail-yw1-f171.google.com with SMTP id 00721157ae682-7ddd3d67084so33167197b3.3 for ; Sun, 31 May 2026 19:53:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780282426; x=1780887226; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=4E1d30sjFNKIHkIaLJ5IKe2fw+jjLdbLjBOofT8Tt/0=; b=H+2YG407P0MMpsbUZ/FQuq9dNM9kIOSZ+MrIj7Omi4dwDNeZY+ZMRFsCdoZeQAoe1D khs/XK2hQ8r4GkcD5rqm7TDjujXpa9a8GlU7qaWcfiiEHfYPKFQcZnHBqZNdgCzcXRrC EkX8BaypEBP+/di5ubduWstEI6dcm0CO60DDmbVCjCvfcdY1yNNv+JqQpDODgWPOdYcF Fv6PUg1ig3V56wlhHjt6RmtMWqGsX2Vln47gbrp4PGBH5XQJ5njUf8qhyemYu8p8OQQi dPUbqB4emJuyMoQplvWs82LZEE75Nr/xqRkn2zpmDN6Cd821wwWBY1azSaqHiiKXT5yj 2gzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780282426; x=1780887226; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=4E1d30sjFNKIHkIaLJ5IKe2fw+jjLdbLjBOofT8Tt/0=; b=Zk6Sg71YTvk06Htx1zQslwbgZ7fn2sFOHegAI/EOK2ABHC2TT0MpePCR0EHSmiC8a9 Q0AR2WXIB3iHTCNywdVLqN94CutsNsE+m5+zmF6HZBZFM2ErYHZuagEDOgvHu+FH8r9d q4vwJQPYqooq2sSNdB3cw6bYAAhK81BwHzuDh7Hb4GDLb8dZvgAC7Cr6LpDEcxrFE4sW yz9JRFvRYOCUldjzJyvrldZJM9UjCtF46Z114cLGCmvAznViJPEO3cX0Le+2MJilEYJP kuWtDQIwsy9I2EzXnk9LSa1L+nxZz6OF2MONgBnIZAgtviIlhEJJxOMJH/59tY/AGqKP eA6w== X-Forwarded-Encrypted: i=1; AFNElJ/ZP+ipyPByK4N+HlLg/Xc30colao0qNpflbNsQWXAMjW4OA6lJIIUNrjhNAN5hAFQUFJ8qj6sVMhBW3dE=@vger.kernel.org X-Gm-Message-State: AOJu0YwpCun9xWH56Ykf2bCPHpogfYAidngUqQd7XR1BUo0szUiOAez2 NvLX9M328AGYQYHj+Pr+76z1K2/RrOh0mFgZVYWC9qcv8+NpAfuGjM+N X-Gm-Gg: Acq92OFt0TZhN2KsyqSOWHfWacSfO+rZ8VnT2XKrlLNvKRJzD0yoRgHBe9Ugl4K3wNy OTtLzoVnfyPLDtIgxHgpKGutU5qePS42/S7EJaMiDLHiW+3KYaSJCPEfTMGa7uuxFugP2dPG3Qx yrGr8Jsrmus5Zbi1vS4KvWQwORCWUoQlLKKGsr05x0K5TDk3VqAAzMtXSXv+FkN06FAIsuDFnW+ gD0yqMdjGrJFRtmcAGSuM0qP/MUtHhYFvjVdzbeZOPR8bMWep8jTUFR2zlatCmk6tv6ahCvRalQ htc3xP9VKSxTueHgdsCJee8hKiYhRTk5dugvX0poHmM0x86TpIBQ2F/AjNx7vHBjnVod6fFyJQq Cj4iot1wRZFLvw/G0uPY4p2EgvgH9GtZ4jl1M8v4ejiz6y6B8biWx+ddEtMljRHVjFSXAflx/e7 J5nQmc75OBquyF3CRmo0jTiICBDxqV9C0WkQQ/mZjl/tY0v4N6efSy6JVcsnJR X-Received: by 2002:a05:690e:1687:b0:660:446b:7aad with SMTP id 956f58d0204a3-6605f179d6fmr7206221d50.57.1780282426580; Sun, 31 May 2026 19:53:46 -0700 (PDT) Received: from tresc054937.tre-sc.gov.br ([187.65.210.13]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-6606977ab05sm2952518d50.9.2026.05.31.19.53.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 May 2026 19:53:45 -0700 (PDT) From: Luiz Angelo Daros de Luca Date: Sun, 31 May 2026 23:53:17 -0300 Subject: [net-next PATCH v11 2/9] net: dsa: realtek: rtl8365mb: reject unsupported topologies Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260531-realtek_forward-v11-2-50d60f5717e8@gmail.com> References: <20260531-realtek_forward-v11-0-50d60f5717e8@gmail.com> In-Reply-To: <20260531-realtek_forward-v11-0-50d60f5717e8@gmail.com> To: Andrew Lunn , Vladimir Oltean , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Linus Walleij , =?utf-8?q?Alvin_=C5=A0ipraga?= , Yury Norov , Rasmus Villemoes , Russell King Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Mieczyslaw Nalewaj , Luiz Angelo Daros de Luca X-Mailer: b4 0.15.2 Explicitly enforce the presence of a CPU port (-EINVAL) and reject DSA cascade links (-EOPNOTSUPP) during setup to prevent silent failures. These topologies were already non-functional. Without a CPU port, the driver does not activate CPU tagging. Additionally, the switch hardware was not designed to be cascaded, and DSA links never worked because CPU tagging is not enabled for them. Reviewed-by: Mieczyslaw Nalewaj Signed-off-by: Luiz Angelo Daros de Luca --- drivers/net/dsa/realtek/rtl8365mb.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/net/dsa/realtek/rtl8365mb.c b/drivers/net/dsa/realtek/rtl8365mb.c index 2637884fe472..37e1d7654b1d 100644 --- a/drivers/net/dsa/realtek/rtl8365mb.c +++ b/drivers/net/dsa/realtek/rtl8365mb.c @@ -1991,6 +1991,20 @@ static int rtl8365mb_setup(struct dsa_switch *ds) else if (ret) dev_info(priv->dev, "no interrupt support\n"); + for (i = 0; i < priv->num_ports; i++) { + /* Cascading (DSA links) is not supported yet. + * Historically, the driver has always been broken + * without a dedicated CPU port because CPU tagging + * would be disabled, rendering the switch entirely + * non-functional for DSA operations. + */ + if (dsa_is_dsa_port(ds, i)) { + dev_err(priv->dev, "Cascading (DSA link) not supported\n"); + ret = -EOPNOTSUPP; + goto out_teardown_irq; + } + } + /* Configure CPU tagging */ dsa_switch_for_each_cpu_port(cpu_dp, ds) { cpu->mask |= BIT(cpu_dp->index); @@ -1999,6 +2013,13 @@ static int rtl8365mb_setup(struct dsa_switch *ds) cpu->trap_port = cpu_dp->index; } cpu->enable = cpu->mask > 0; + + if (!cpu->enable) { + dev_err(priv->dev, "no CPU port defined\n"); + ret = -EINVAL; + goto out_teardown_irq; + } + ret = rtl8365mb_cpu_config(priv); if (ret) goto out_teardown_irq; -- 2.54.0