mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
net: dsa: mv88e6xxx: Push locking into stats snapshotting
This is more consistent with the driver's general structure. Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9ed816b106
commit
d624afaf4c
1 changed files with 7 additions and 6 deletions
|
@ -943,10 +943,16 @@ error:
|
|||
|
||||
static int mv88e6xxx_stats_snapshot(struct mv88e6xxx_chip *chip, int port)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (!chip->info->ops->stats_snapshot)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
return chip->info->ops->stats_snapshot(chip, port);
|
||||
mv88e6xxx_reg_lock(chip);
|
||||
err = chip->info->ops->stats_snapshot(chip, port);
|
||||
mv88e6xxx_reg_unlock(chip);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static struct mv88e6xxx_hw_stat mv88e6xxx_hw_stats[] = {
|
||||
|
@ -1284,16 +1290,11 @@ static void mv88e6xxx_get_ethtool_stats(struct dsa_switch *ds, int port,
|
|||
struct mv88e6xxx_chip *chip = ds->priv;
|
||||
int ret;
|
||||
|
||||
mv88e6xxx_reg_lock(chip);
|
||||
|
||||
ret = mv88e6xxx_stats_snapshot(chip, port);
|
||||
mv88e6xxx_reg_unlock(chip);
|
||||
|
||||
if (ret < 0)
|
||||
return;
|
||||
|
||||
mv88e6xxx_get_stats(chip, port, data);
|
||||
|
||||
}
|
||||
|
||||
static int mv88e6xxx_get_regs_len(struct dsa_switch *ds, int port)
|
||||
|
|
Loading…
Add table
Reference in a new issue