[PATCH net] net: dsa: vsc73xx: fix possible subblocks range of CAPT block

Pawel Dembicki posted 1 patch 1 year, 3 months ago
drivers/net/dsa/vitesse-vsc73xx-core.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
[PATCH net] net: dsa: vsc73xx: fix possible subblocks range of CAPT block
Posted by Pawel Dembicki 1 year, 3 months ago
CAPT block (CPU Capture Buffer) have 7 sublocks: 0-3, 4, 6, 7.
Function 'vsc73xx_is_addr_valid' allows to use only block 0 at this
moment.

This patch fix it.

Fixes: 05bd97fc559d ("net: dsa: Add Vitesse VSC73xx DSA router driver")
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
---
 drivers/net/dsa/vitesse-vsc73xx-core.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/dsa/vitesse-vsc73xx-core.c b/drivers/net/dsa/vitesse-vsc73xx-core.c
index e3f95d2cc2c1..212421e9d42e 100644
--- a/drivers/net/dsa/vitesse-vsc73xx-core.c
+++ b/drivers/net/dsa/vitesse-vsc73xx-core.c
@@ -36,7 +36,7 @@
 #define VSC73XX_BLOCK_ANALYZER	0x2 /* Only subblock 0 */
 #define VSC73XX_BLOCK_MII	0x3 /* Subblocks 0 and 1 */
 #define VSC73XX_BLOCK_MEMINIT	0x3 /* Only subblock 2 */
-#define VSC73XX_BLOCK_CAPTURE	0x4 /* Only subblock 2 */
+#define VSC73XX_BLOCK_CAPTURE	0x4 /* Subblocks 0-4, 6, 7 */
 #define VSC73XX_BLOCK_ARBITER	0x5 /* Only subblock 0 */
 #define VSC73XX_BLOCK_SYSTEM	0x7 /* Only subblock 0 */
 
@@ -410,13 +410,19 @@ int vsc73xx_is_addr_valid(u8 block, u8 subblock)
 		break;
 
 	case VSC73XX_BLOCK_MII:
-	case VSC73XX_BLOCK_CAPTURE:
 	case VSC73XX_BLOCK_ARBITER:
 		switch (subblock) {
 		case 0 ... 1:
 			return 1;
 		}
 		break;
+	case VSC73XX_BLOCK_CAPTURE:
+		switch (subblock) {
+		case 0 ... 4:
+		case 6 ... 7:
+			return 1;
+		}
+		break;
 	}
 
 	return 0;
-- 
2.34.1
Re: [PATCH net] net: dsa: vsc73xx: fix possible subblocks range of CAPT block
Posted by Florian Fainelli 1 year, 3 months ago
On 9/3/24 13:33, Pawel Dembicki wrote:
> CAPT block (CPU Capture Buffer) have 7 sublocks: 0-3, 4, 6, 7.
> Function 'vsc73xx_is_addr_valid' allows to use only block 0 at this
> moment.
> 
> This patch fix it.

No objection to targeting 'net' as it is a proper bug fix, however there 
is nothing in 'net' that currently depends upon VSC73XX_BLOCK_CAPTURE, 
so this has no functional impact at the moment.

> 
> Fixes: 05bd97fc559d ("net: dsa: Add Vitesse VSC73xx DSA router driver")
> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>

Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
-- 
Florian
Re: [PATCH net] net: dsa: vsc73xx: fix possible subblocks range of CAPT block
Posted by Paweł Dembicki 1 year, 3 months ago
wt., 3 wrz 2024 o 23:48 Florian Fainelli <f.fainelli@gmail.com> napisał(a):
>
> On 9/3/24 13:33, Pawel Dembicki wrote:
> > CAPT block (CPU Capture Buffer) have 7 sublocks: 0-3, 4, 6, 7.
> > Function 'vsc73xx_is_addr_valid' allows to use only block 0 at this
> > moment.
> >
> > This patch fix it.
>
> No objection to targeting 'net' as it is a proper bug fix, however there
> is nothing in 'net' that currently depends upon VSC73XX_BLOCK_CAPTURE,
> so this has no functional impact at the moment.

Yes. I found it during work on the STP packet capture funcionality.
It's almost done, so I decided to send this fix to the 'net' before.