From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) (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 9B9743B2D04 for ; Fri, 5 Jun 2026 04:56:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780635406; cv=none; b=JVQ/1ffzFfcJCWvYwIypmVMpd8mOKH5etfeDeSUgIy7YskqG8IhJ254vZveBCHev7f2Ga1T1zzhebiPYoglVhmVNwoE/RoSWJb45RIRxGWp5tHbBmvC0GD9/ixdtZauJwB4QNV1GxUWN8jIM7/leqs+8Zjza3ZBV18GzBuWJQK0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780635406; c=relaxed/simple; bh=LJI1mTt5T0OFZe90AgpOUo9cgLT4qEmmXzwTeVD1xZs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OK2meNAR53vSDFkPPjcNkqZxw6OX+40YvH+on/N3X0AD4AYLb2/SDuUGZRWHrXYbB2F/YRGfOvMAvRit29oxGTSkuVaGX6iTV5il1l4n3+NPBtK+Gi9fsZjboe+ysIGvhKLC9da/5cbvRm/J/legrzAumNd+Bl2dWrJC/lwyoF4= 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=Fxo59hRy; arc=none smtp.client-ip=209.85.128.181 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="Fxo59hRy" Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-7dc6fbf3e86so18091167b3.3 for ; Thu, 04 Jun 2026 21:56:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780635404; x=1781240204; 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=/vFn2mXy1vj757WZPxDW+LyElp0xHloQfyO3c1ZOegg=; b=Fxo59hRyysel366nC+klsgx6eu5vhridrgLsf2Xm4jLX2Hn8Dxt1xzsidHRhCNUlVb cYuYfZZQD5/NBo96pXSTR5dMu6wn3zvVey1e9qQIY5qD5HoBd2idYokoF9HO/7uRsFlx SjRssGcHKXYd/hMPjzqnuJUKktBxJRS/Q4MLfsXRjz41ELBO23fRIfdeTcVlxb2+nU7j YICc2mtK90JO3TZ4PWRBhp7+WHM856SkhmkpCA8qJf+Nck1EdM5K0cQ6ah5rwNSthpQJ g4mqv9IQAOAIGuI69FRrpxYNoZF3U3VpAYwexhXsuM/tAcQQ0WpAI7wTMmfHYSLUq99U oX4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780635404; x=1781240204; 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=/vFn2mXy1vj757WZPxDW+LyElp0xHloQfyO3c1ZOegg=; b=eFxfVMPG2wDiTkFlnGply/9Mte//8ItW+zwCcjA9uYArenl4D5kxLWwG0piwmfBZ+G nzgHvcfMeo2PT+ZOkpH9ru0K2BEYqja25eO6iwJ/5bXbQAy6w7EQLJJOfbMbnYAmTeGK cj543Ui6nE6ljhCfnedh1NKe0JbO/miBBcwugmM7/lWmJx1E82DyefFXo9oxLHmqPq0R 7y03cbq19NFCe7JJFAnsi+ed05SuT57pBvOssVyZS8AZkEHou6qGeKxGV5+6ewqnVBqC Sfc5iyUmR7RWT32r1EOcgJjME5YR+ZXLdMdu8UjSAW+OGEoQLHbme5QLewqhZcIcfosS 1lZA== X-Forwarded-Encrypted: i=1; AFNElJ/Ra2sOsEg/FPd5GoFP7A4p/2H6mc345Ni+G1CECDCcJJ88GgcIudQRzvM/h9fWWhEgOJn64mzKWJ/Xf5Y=@vger.kernel.org X-Gm-Message-State: AOJu0YwLXjcG3a7rybxm0batjthoxuGa/4EDLoEo69S3U6Qbnwq1jCZh bEUbhMDbZA4mZmGjL48wjyYbgRveg2HXyD3lGnq8s3AB5O2ZyZ2abaAF X-Gm-Gg: Acq92OEWpWeytSMuHRPlpfzVh8KiZOVkz0oMFnZCyRv2/1mpg9oqGl4t6byApzfbyOz quxlCXQHdCYp5T8y0H5oOsIMGzXph3YojwQMCt27uh7hyOybbpy2PCkr5AbPkml3aaYuEUMUV2s 3r+B6nx7EGI8iQo8tOd5CBvKeN1EMqkJVa6MtIIAOVpM0ZeNy0rMTREhWxB0vSslbwB5SHrvpWp 7OuG74sJb3l9Db0OPZwJ9VxgZKnvcI8CsaNg7VyYSzFUa4KOfCZs9saOwmk027Eaaa4nuC2qmK+ 4PfMK5pWtojaC1HURK/GjbQR7IKoKyO0IUsVV+jI5WGio5WoEaDQnweEfTcCF5Keg3F6kkpksul xCcwO1YWhpee+T0gMDm3DWzsY3dau8lWON+gigzvuLtMHpA40k7qPY3Z/IB351xeTMaFFsYKV5v Efowt5NWGppLJ21w6fBMEm9zu2SZwHedgY/f8FnH2+W+E93e4W+MWgGQPZKEpG X-Received: by 2002:a05:690c:ed3:b0:7c0:82ec:fe82 with SMTP id 00721157ae682-7ed0ec54fddmr20452407b3.11.1780635404624; Thu, 04 Jun 2026 21:56:44 -0700 (PDT) Received: from tresc054937.tre-sc.gov.br ([187.65.210.13]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7ea215825d2sm45840207b3.16.2026.06.04.21.56.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2026 21:56:43 -0700 (PDT) From: Luiz Angelo Daros de Luca Date: Fri, 05 Jun 2026 01:56:10 -0300 Subject: [net-next PATCH v12 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: <20260605-realtek_forward-v12-2-78eb7b31df72@gmail.com> References: <20260605-realtek_forward-v12-0-78eb7b31df72@gmail.com> In-Reply-To: <20260605-realtek_forward-v12-0-78eb7b31df72@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 Reviewed-by: Linus Walleij 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