Messages in this thread |  | | Date | Wed, 3 Sep 2025 20:04:37 +0300 | | From | Vladimir Oltean <> | | Subject | Re: [PATCH v2 net 1/2] net: phylink: add lock for serializing concurrent pl->phydev writes with resolver |
| |
On Wed, Sep 03, 2025 at 04:52:09PM +0100, Russell King (Oracle) wrote: > The reason I'm making the suggestion is for consistency. If the lock > is there to ensure that reading pl->phydev is done safely, having one > site where we read it and then take the lock makes it look confusing. > I've also been thinking that it should be called pl->phydev_mutex > (note that phylink uses _mutex for mutexes.) > > To avoid it looking weird, what about this: > > mutex_lock(&pl->phy_lock); > phy = pl->phydev; > if (phy) { > mutex_lock(&phy->lock); > mutex_lock(&pl->state_mutex); > pl->phydev = NULL; > pl->phy_enable_tx_lpi = false; > pl->mac_tx_clk_stop = false; > mutex_unlock(&pl->state_mutex); > mutex_unlock(&phy->lock); > } > mutex_unlock(&pl->phy_lock); > > if (phy) > flush_work(&pl->resolve); > > phy_disconnect(phy); > }
I can make these changes and repost tomorrow, after some extra testing. Thanks for the feedback.
|  |