On 30.04.2019 07:06, Heiner Kallweit wrote:
> 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_pau
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 =
> @@ -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_L
We should consider what is supported, and we shouldn't mess with
phydev->supported. In addition make sure that phy_set_sym_pause()
clears the asym pause bit in phydev->advertising.
In phy_set_sym_pause() use the same mechanism as in
phy_set_asym_pause() to restart autoneg if needed.
Signed-off-by: