linux/drivers/net/dsa
Marek Vasut 013572a236 net: dsa: microchip: Add shared regmap mutex
The KSZ driver uses one regmap per register width (8/16/32), each with
it's own lock, but accessing the same set of registers. In theory, it
is possible to create a race condition between these regmaps, although
the underlying bus (SPI or I2C) locking should assure nothing bad will
really happen and the accesses would be correct.

To make the driver do the right thing, add one single shared mutex for
all the regmaps used by the driver instead. This assures that even if
some future hardware is on a bus which does not serialize the accesses
the same way SPI or I2C does, nothing bad will happen.

Note that the status_mutex was unused and only initied, hence it was
renamed and repurposed as the regmap mutex.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: David S. Miller <davem@davemloft.net>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Cc: George McCollister <george.mccollister@gmail.com>
Cc: Tristram Ha <Tristram.Ha@microchip.com>
Cc: Woojung Huh <woojung.huh@microchip.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-10-17 15:38:46 -04:00
..
b53 net: dsa: b53: Do not clear existing mirrored port mask 2019-10-06 15:55:14 +02:00
microchip net: dsa: microchip: Add shared regmap mutex 2019-10-17 15:38:46 -04:00
mv88e6xxx net: dsa: mv88e6xxx: add RXNFC support 2019-09-10 16:53:31 +01:00
sja1105 net: dsa: sja1105: Use the correct style for SPDX License Identifier 2019-10-15 20:16:26 -07:00
Kconfig net: dsa: vsc73xx: fix NET_DSA and OF dependencies 2019-07-09 13:19:53 -07:00
Makefile net: dsa: vsc73xx: add support for parallel mode 2019-07-07 14:16:32 -07:00
bcm_sf2.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-27 14:23:31 -07:00
bcm_sf2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
bcm_sf2_cfp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
bcm_sf2_regs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dsa_loop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dsa_loop.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dsa_loop_bdinfo.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
lan9303-core.c net: dsa: do not enable or disable non user ports 2019-08-20 12:33:49 -07:00
lan9303.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
lan9303_i2c.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
lan9303_mdio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
lantiq_gswip.c net: dsa: do not enable or disable non user ports 2019-08-20 12:33:49 -07:00
lantiq_pce.h net: dsa: Use the correct style for SPDX License Identifier 2019-09-22 15:25:08 -07:00
mt7530.c net: dsa: mt7530: Add support for port 5 2019-09-05 00:28:23 +02:00
mt7530.h net: dsa: mt7530: Add support for port 5 2019-09-05 00:28:23 +02:00
mv88e6060.c net: dsa: mv88e6060: Remove support for legacy probing 2019-04-30 23:13:33 -04:00
mv88e6060.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
qca8k.c net: dsa: qca8k: Use up to 7 ports for all operations 2019-09-30 11:06:38 -07:00
qca8k.h net: dsa: qca8k: introduce reset via gpio feature 2019-06-27 11:17:30 -07:00
realtek-smi-core.c net: dsa: fix warning same module names 2019-06-14 19:28:54 -07:00
realtek-smi-core.h net: dsa: fix warning same module names 2019-06-14 19:28:54 -07:00
rtl8366.c net: dsa: rtl8366: Check VLAN ID and not ports 2019-10-02 12:09:23 -04:00
rtl8366rb.c net: dsa: rtl8366rb: add missing of_node_put after calling of_get_child_by_name 2019-10-01 10:02:56 -07:00
vitesse-vsc73xx-core.c net: dsa: vsc73xx: Assert reset if iCPU is enabled 2019-07-07 14:16:32 -07:00
vitesse-vsc73xx-platform.c net: dsa: vsc73xx: add support for parallel mode 2019-07-07 14:16:32 -07:00
vitesse-vsc73xx-spi.c net: dsa: vsc73xx: Split vsc73xx driver 2019-07-07 14:16:32 -07:00
vitesse-vsc73xx.h net: dsa: vsc73xx: Split vsc73xx driver 2019-07-07 14:16:32 -07:00