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 |
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 --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;
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(-)