diff mbox series

realtek: fix RTL839x egress tag for ports >= 32

Message ID 20220925123231.734058-1-jan@3e8.eu
State Accepted
Delegated to: Sander Vanheule
Headers show
Series realtek: fix RTL839x egress tag for ports >= 32 | expand

Commit Message

Jan Hoffmann Sept. 25, 2022, 12:32 p.m. UTC
Don't overwrite AS_DPM and L2LEARNING flags when dest_port is >= 32.

Fixes: 1773264a0c6d ("realtek: correct egress frame port verification")
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
---
 .../linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sander Vanheule Sept. 25, 2022, 6:54 p.m. UTC | #1
Hi Jan,

On Sun, 2022-09-25 at 14:32 +0200, Jan Hoffmann wrote:
> Don't overwrite AS_DPM and L2LEARNING flags when dest_port is >= 32.
> 
> Fixes: 1773264a0c6d ("realtek: correct egress frame port verification")
> Signed-off-by: Jan Hoffmann <jan@3e8.eu>

Thanks! Merged into master.

Best,
Sander
diff mbox series

Patch

diff --git a/target/linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.c b/target/linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.c
index e96c5a7216f8..d497b4cc8caa 100644
--- a/target/linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.c
+++ b/target/linux/realtek/files-5.10/drivers/net/ethernet/rtl838x_eth.c
@@ -116,7 +116,7 @@  static void rtl839x_create_tx_header(struct p_hdr *h, unsigned int dest_port, in
 	// h->cpu_tag[1] |= BIT(1) | BIT(0); // Bypass filter 1/2
 	if (dest_port >= 32) {
 		dest_port -= 32;
-		h->cpu_tag[2] = BIT(dest_port) >> 16;
+		h->cpu_tag[2] |= (BIT(dest_port) >> 16) & 0xf;
 		h->cpu_tag[3] = BIT(dest_port) & 0xffff;
 	} else {
 		h->cpu_tag[4] = BIT(dest_port) >> 16;