linux/drivers/net/dsa/microchip
Oleksij Rempel 4597e104a3 net: dsa: microchip: ksz8863_smi: fix bulk access
[ Upstream commit 392ff7a84c ]

Current regmap bulk access is broken, resulting to wrong reads/writes
if ksz_read64/ksz_write64 functions are used.
Mostly this issue was visible by using ksz8_fdb_dump(), which returned
corrupt MAC address.

The reason is that regmap was configured to have max_raw_read/write,
even if ksz8863_mdio_read/write functions are able to handle unlimited
read/write accesses. On ksz_read64 function we are using multiple 32bit
accesses by incrementing each access by 1 instead of 4. Resulting buffer
had 01234567.12345678 instead of 01234567.89abcdef.

We have multiple ways to fix it:
- enable 4 byte alignment for 32bit accesses. Since the HW do not have
  this requirement. It will break driver.
- disable max_raw_* limit.

This patch is removing max_raw_* limit for regmap accesses in ksz8863_smi.

Fixes: 60a3647600 ("net: dsa: microchip: Add Microchip KSZ8863 SMI based driver support")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-04-05 11:24:55 +02:00
..
Kconfig net: dsa: microchip: Add Microchip KSZ8863 SMI based driver support 2021-04-27 14:13:24 -07:00
ksz8.h net: dsa: microchip: ksz8795: move register offsets and shifts to separate struct 2021-04-27 14:13:23 -07:00
ksz8795.c net: dsa: microchip: ksz8795: Don't use phy_port_cnt in VLAN table lookup 2021-08-10 09:58:15 +01:00
ksz8795_reg.h net: dsa: microchip: ksz8795: Fix PVID tag insertion 2021-08-10 09:58:14 +01:00
ksz8795_spi.c net: dsa: microchip: add spi_device_id tables 2022-04-08 14:22:48 +02:00
ksz8863_smi.c net: dsa: microchip: ksz8863_smi: fix bulk access 2023-04-05 11:24:55 +02:00
ksz9477.c net: dsa: microchip: ksz9477: port map correction in ALU table entry register 2023-02-01 08:27:14 +01:00
ksz9477_i2c.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
ksz9477_reg.h net: dsa: microchip: Use the correct style for SPDX License Identifier 2019-10-15 14:59:58 -07:00
ksz9477_spi.c net: dsa: microchip: add spi_device_id tables 2022-04-08 14:22:48 +02:00
ksz_common.c net: dsa: microchip: ksz_common: Fix refcount leak bug 2022-07-29 17:25:15 +02:00
ksz_common.h net: dsa: microchip: ksz8795: Reject unsupported VLAN configuration 2021-08-10 09:58:14 +01:00
Makefile net: dsa: microchip: Add Microchip KSZ8863 SMI based driver support 2021-04-27 14:13:24 -07:00