net: phylink: tidy up disable bit clearing
Tidy up the disable bit clearing where we clear a bit and then run the link resolver. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Reviewed-by: Marek Behún <kabel@kernel.org> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://lore.kernel.org/r/E1ms4Rx-00EKEc-En@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
4a8e4640dd
commit
aa729c4394
|
@ -1090,6 +1090,12 @@ static void phylink_run_resolve_and_disable(struct phylink *pl, int bit)
|
|||
}
|
||||
}
|
||||
|
||||
static void phylink_enable_and_run_resolve(struct phylink *pl, int bit)
|
||||
{
|
||||
clear_bit(bit, &pl->phylink_disable_state);
|
||||
phylink_run_resolve(pl);
|
||||
}
|
||||
|
||||
static void phylink_fixed_poll(struct timer_list *t)
|
||||
{
|
||||
struct phylink *pl = container_of(t, struct phylink, link_poll);
|
||||
|
@ -1574,8 +1580,7 @@ void phylink_start(struct phylink *pl)
|
|||
*/
|
||||
phylink_mac_initial_config(pl, true);
|
||||
|
||||
clear_bit(PHYLINK_DISABLE_STOPPED, &pl->phylink_disable_state);
|
||||
phylink_run_resolve(pl);
|
||||
phylink_enable_and_run_resolve(pl, PHYLINK_DISABLE_STOPPED);
|
||||
|
||||
if (pl->cfg_link_an_mode == MLO_AN_FIXED && pl->link_gpio) {
|
||||
int irq = gpiod_to_irq(pl->link_gpio);
|
||||
|
@ -1715,8 +1720,7 @@ void phylink_resume(struct phylink *pl)
|
|||
phylink_mac_initial_config(pl, true);
|
||||
|
||||
/* Re-enable and re-resolve the link parameters */
|
||||
clear_bit(PHYLINK_DISABLE_MAC_WOL, &pl->phylink_disable_state);
|
||||
phylink_run_resolve(pl);
|
||||
phylink_enable_and_run_resolve(pl, PHYLINK_DISABLE_MAC_WOL);
|
||||
} else {
|
||||
phylink_start(pl);
|
||||
}
|
||||
|
@ -2645,8 +2649,7 @@ static void phylink_sfp_link_up(void *upstream)
|
|||
|
||||
ASSERT_RTNL();
|
||||
|
||||
clear_bit(PHYLINK_DISABLE_LINK, &pl->phylink_disable_state);
|
||||
phylink_run_resolve(pl);
|
||||
phylink_enable_and_run_resolve(pl, PHYLINK_DISABLE_LINK);
|
||||
}
|
||||
|
||||
/* The Broadcom BCM84881 in the Methode DM7052 is unable to provide a SGMII
|
||||
|
|
Loading…
Reference in New Issue