Commit 8e69c96d authored by Pawel Dembicki's avatar Pawel Dembicki Committed by Paolo Abeni
Browse files

net: dsa: vsc73xx: fix possible subblocks range of CAPT block



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: 05bd97fc ("net: dsa: Add Vitesse VSC73xx DSA router driver")
Signed-off-by: default avatarPawel Dembicki <paweldembicki@gmail.com>
Reviewed-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20240903203340.1518789-1-paweldembicki@gmail.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 546ea84d
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -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;