lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 11 Aug 2019 17:08:11 +0200 From: Marek Behún <marek.behun@....cz> To: netdev@...r.kernel.org Cc: Marek Behún <marek.behun@....cz>, Heiner Kallweit <hkallweit1@...il.com>, Sebastian Reichel <sebastian.reichel@...labora.co.uk>, Vivien Didelot <vivien.didelot@...il.com>, Andrew Lunn <andrew@...n.ch>, Florian Fainelli <f.fainelli@...il.com>, "David S . Miller" <davem@...emloft.net> Subject: [PATCH net-next 1/2] net: dsa: mv88e6xxx: fix RGMII-ID port setup The mv88e6xxx_port_setup_mac looks if one of the {link, speed, duplex} parameters is being changed from the current setting, and if not, does not do anything. This test is wrong in some situations: this method also has the mode argument, which can also be changed. For example on Turris Omnia, the mode is PHY_INTERFACE_MODE_RGMII_ID, which has to be set byt the ->port_set_rgmii_delay method. The test does not look if mode is being changed (in fact there is currently no method to determine port mode as phy_interface_t type). The simplest solution seems to be to drop this test altogether and simply do the setup when requested. Signed-off-by: Marek Behún <marek.behun@....cz> Cc: Heiner Kallweit <hkallweit1@...il.com> Cc: Sebastian Reichel <sebastian.reichel@...labora.co.uk> Cc: Vivien Didelot <vivien.didelot@...il.com> Cc: Andrew Lunn <andrew@...n.ch> Cc: Florian Fainelli <f.fainelli@...il.com> Cc: David S. Miller <davem@...emloft.net> --- drivers/net/dsa/mv88e6xxx/chip.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c index 2e8b1ab2c6f7..aae63f6515b3 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -420,15 +420,6 @@ int mv88e6xxx_port_setup_mac(struct mv88e6xxx_chip *chip, int port, int link, if (err) return err; - /* Has anything actually changed? We don't expect the - * interface mode to change without one of the other - * parameters also changing - */ - if (state.link == link && - state.speed == speed && - state.duplex == duplex) - return 0; - /* Port's MAC control must not be changed unless the link is down */ err = chip->info->ops->port_set_link(chip, port, 0); if (err) -- 2.21.0
Powered by blists - more mailing lists