From: Russell King (Oracle) Date: Wed, 17 May 2023 10:37:52 +0000 (+0100) Subject: net: sfp: move rtnl lock to cover reading state X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d47e5a430dfd8b15739a118e4a2add5fa90347fd;p=linux.git net: sfp: move rtnl lock to cover reading state As preparation to moving st_mutex inside rtnl_lock, we need to first move the rtnl lock to cover reading the state. Reviewed-by: Simon Horman Signed-off-by: Russell King (Oracle) Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c index c97a87393fdb2..3fc703e4dd215 100644 --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c @@ -2601,6 +2601,7 @@ static void sfp_check_state(struct sfp *sfp) unsigned int state, i, changed; mutex_lock(&sfp->st_mutex); + rtnl_lock(); state = sfp_get_state(sfp); changed = state ^ sfp->state; if (sfp->tx_fault_ignore) @@ -2616,7 +2617,6 @@ static void sfp_check_state(struct sfp *sfp) state |= sfp->state & (SFP_F_TX_DISABLE | SFP_F_RATE_SELECT); sfp->state = state; - rtnl_lock(); if (changed & SFP_F_PRESENT) sfp_sm_event(sfp, state & SFP_F_PRESENT ? SFP_E_INSERT : SFP_E_REMOVE);