Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: dsa: tag_rtl8_4: use the dsa_xmit_port_mask() helper

The "rtl8_4" and "rtl8_4t" tagging protocols populate a bit mask for the
TX ports, so we can use dsa_xmit_port_mask() to centralize the decision
of how to set that field.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: "Alvin Šipraga" <alsi@bang-olufsen.dk>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20251127120902.292555-12-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Vladimir Oltean and committed by
Jakub Kicinski
5afe4ccc 4abf39c8

+1 -2
+1 -2
net/dsa/tag_rtl8_4.c
··· 103 103 static void rtl8_4_write_tag(struct sk_buff *skb, struct net_device *dev, 104 104 void *tag) 105 105 { 106 - struct dsa_port *dp = dsa_user_to_port(dev); 107 106 __be16 tag16[RTL8_4_TAG_LEN / 2]; 108 107 109 108 /* Set Realtek EtherType */ ··· 115 116 tag16[2] = htons(FIELD_PREP(RTL8_4_LEARN_DIS, 1)); 116 117 117 118 /* Zero ALLOW; set RX (CPU->switch) forwarding port mask */ 118 - tag16[3] = htons(FIELD_PREP(RTL8_4_RX, BIT(dp->index))); 119 + tag16[3] = htons(FIELD_PREP(RTL8_4_RX, dsa_xmit_port_mask(skb, dev))); 119 120 120 121 memcpy(tag, tag16, RTL8_4_TAG_LEN); 121 122 }