aboutsummaryrefslogtreecommitdiff
path: root/net/ipv6/tcp_ipv6.c
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2022-11-29 16:12:21 +0200
committerPaolo Abeni <pabeni@redhat.com>2022-12-01 13:40:22 +0100
commit87db82cb614973a87a03ac298ad4ab4c5ca5d38e (patch)
tree37e7e31b34dfdfbfb897406f587bae8512219223 /net/ipv6/tcp_ipv6.c
parent3c7f44fa9c4c8a9154935ca49e4cf45c14240335 (diff)
downloadlinux-87db82cb614973a87a03ac298ad4ab4c5ca5d38e.tar.gz
linux-87db82cb614973a87a03ac298ad4ab4c5ca5d38e.tar.bz2
linux-87db82cb614973a87a03ac298ad4ab4c5ca5d38e.zip
net: dpaa2-mac: move rtnl_lock() only around phylink_{,dis}connect_phy()
After the introduction of a private mac_lock that serializes access to priv->mac (and port_priv->mac in the switch), the only remaining purpose of rtnl_lock() is to satisfy the locking requirements of phylink_fwnode_phy_connect() and phylink_disconnect_phy(). But the functions these live in, dpaa2_mac_connect() and dpaa2_mac_disconnect(), have contradictory locking requirements. While phylink_fwnode_phy_connect() wants rtnl_lock() to be held, phylink_create() wants it to not be held. Move the rtnl_lock() from top-level (in the dpaa2-eth and dpaa2-switch drivers) to only surround the phylink calls that require it, in the dpaa2-mac library code. This is possible because dpaa2_mac_connect() and dpaa2_mac_disconnect() run unlocked, and there isn't any danger of an AB/BA deadlock between the rtnl_mutex and other private locks. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com> Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
0 files changed, 0 insertions, 0 deletions