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: Tue, 30 Apr 2019 07:06:15 +0200 From: Heiner Kallweit <hkallweit1@...il.com> To: Andrew Lunn <andrew@...n.ch> Cc: Florian Fainelli <f.fainelli@...il.com>, David Miller <davem@...emloft.net>, "netdev@...r.kernel.org" <netdev@...r.kernel.org> Subject: Re: [PATCH net-next 2/2] net: phy: improve phy_set_sym_pause and phy_set_asym_pause On 29.04.2019 23:52, Andrew Lunn wrote: >> @@ -2078,6 +2089,11 @@ EXPORT_SYMBOL(phy_set_sym_pause); >> void phy_set_asym_pause(struct phy_device *phydev, bool rx, bool tx) >> { >> __ETHTOOL_DECLARE_LINK_MODE_MASK(oldadv); >> + bool asym_pause_supported; >> + >> + asym_pause_supported = >> + linkmode_test_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT, >> + phydev->supported); >> >> linkmode_copy(oldadv, phydev->advertising); >> >> @@ -2086,14 +2102,14 @@ void phy_set_asym_pause(struct phy_device *phydev, bool rx, bool tx) >> linkmode_clear_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT, >> phydev->advertising); >> >> - if (rx) { >> + if (rx && asym_pause_supported) { >> linkmode_set_bit(ETHTOOL_LINK_MODE_Pause_BIT, >> phydev->advertising); >> linkmode_set_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT, >> phydev->advertising); >> } >> >> - if (tx) >> + if (tx && asym_pause_supported) >> linkmode_change_bit(ETHTOOL_LINK_MODE_Asym_Pause_BIT, >> phydev->advertising); > > Hi Heiner > Hi Andrew, > If the PHY only supports Pause, not Asym Pause, i wounder if we should > fall back to Pause here? > I wasn't sure about whether a silent fallback is the expected behavior. Also open is whether we can rely on a set_pause callback having called phy_validate_pause() before. Another option could be to change the return type to int and return an error like -EOPNOTSUPP if the requested mode isn't supported. > Andrew > Heiner
Powered by blists - more mailing lists