kernel: backport some mv88e6xxx devlink patches
[openwrt/staging/hauke.git] / target / linux / generic / backport-5.10 / 891-v5.13-net-dsa-mv88e6xxx-Fix-off-by-one-in-VTU-devlink-regi.patch
1 From 281140a0a2ce4febf2c0ce5d29d0e7d961a826b1 Mon Sep 17 00:00:00 2001
2 From: Tobias Waldekranz <tobias@waldekranz.com>
3 Date: Wed, 21 Apr 2021 14:04:53 +0200
4 Subject: [PATCH] net: dsa: mv88e6xxx: Fix off-by-one in VTU devlink region
5 size
6
7 In the unlikely event of the VTU being loaded to the brim with 4k
8 entries, the last one was placed in the buffer, but the size reported
9 to devlink was off-by-one. Make sure that the final entry is available
10 to the caller.
11
12 Fixes: ca4d632aef03 ("net: dsa: mv88e6xxx: Export VTU as devlink region")
13 Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
14 Reviewed-by: Andrew Lunn <andrew@lunn.ch>
15 Signed-off-by: David S. Miller <davem@davemloft.net>
16 ---
17 drivers/net/dsa/mv88e6xxx/devlink.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20 --- a/drivers/net/dsa/mv88e6xxx/devlink.c
21 +++ b/drivers/net/dsa/mv88e6xxx/devlink.c
22 @@ -678,7 +678,7 @@ static int mv88e6xxx_setup_devlink_regio
23 sizeof(struct mv88e6xxx_devlink_atu_entry);
24 break;
25 case MV88E6XXX_REGION_VTU:
26 - size = mv88e6xxx_max_vid(chip) *
27 + size = (mv88e6xxx_max_vid(chip) + 1) *
28 sizeof(struct mv88e6xxx_devlink_vtu_entry);
29 break;
30 }