]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: dsa: b53: support legacy FCS tags
authorÁlvaro Fernández Rojas <noltari@gmail.com>
Sat, 14 Jun 2025 07:59:49 +0000 (09:59 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 18 Jun 2025 00:52:04 +0000 (17:52 -0700)
Commit 46c5176c586c ("net: dsa: b53: support legacy tags") introduced
support for legacy tags, but it turns out that BCM5325 and BCM5365
switches require the original FCS value and length, so they have to be
treated differently.

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Link: https://patch.msgid.link/20250614080000.1884236-4-noltari@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/b53/Kconfig
drivers/net/dsa/b53/b53_common.c

index ebaa4a80d5444f4283023756bc9978c3c65df146..915008e8eff530642c03dfe1615608b754856a9d 100644 (file)
@@ -5,6 +5,7 @@ menuconfig B53
        select NET_DSA_TAG_NONE
        select NET_DSA_TAG_BRCM
        select NET_DSA_TAG_BRCM_LEGACY
+       select NET_DSA_TAG_BRCM_LEGACY_FCS
        select NET_DSA_TAG_BRCM_PREPEND
        help
          This driver adds support for Broadcom managed switch chips. It supports
index dc2f4adac9bc968db8d85ab4c487bb76641d8c96..9a038992f043c9ade7074d29baafe2124787097e 100644 (file)
@@ -2241,8 +2241,11 @@ enum dsa_tag_protocol b53_get_tag_protocol(struct dsa_switch *ds, int port,
                goto out;
        }
 
-       /* Older models require a different 6 byte tag */
-       if (is5325(dev) || is5365(dev) || is63xx(dev)) {
+       /* Older models require different 6 byte tags */
+       if (is5325(dev) || is5365(dev)) {
+               dev->tag_protocol = DSA_TAG_PROTO_BRCM_LEGACY_FCS;
+               goto out;
+       } else if (is63xx(dev)) {
                dev->tag_protocol = DSA_TAG_PROTO_BRCM_LEGACY;
                goto out;
        }