Loading
net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access
stable inclusion from stable-v5.10.218 commit b8d75bb01c560db69e63015b76617444a929f306 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IAX0QZ Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b8d75bb01c560db69e63015b76617444a929f306 -------------------------------- commit d85cf67a339685beae1d0aee27b7f61da95455be upstream. The EXT_RGMII_OOB_CTRL register can be written from different contexts. It is predominantly written from the adjust_link handler which is synchronized by the phydev->lock, but can also be written from a different context when configuring the mii in bcmgenet_mii_config(). The chances of contention are quite low, but it is conceivable that adjust_link could occur during resume when WoL is enabled so use the phydev->lock synchronizer in bcmgenet_mii_config() to be sure. Fixes: afe3f907 ("net: bcmgenet: power on MII block for all MII modes") Cc: stable@vger.kernel.org Signed-off-by:Doug Berger <opendmb@gmail.com> Acked-by:
Florian Fainelli <florian.fainelli@broadcom.com> Signed-off-by:
David S. Miller <davem@davemloft.net> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
sanglipeng1 <sanglipeng1@jd.com>