summaryrefslogtreecommitdiff
path: root/drivers/net/phy/phy.c
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2022-05-13 01:39:02 +0300
committerJakub Kicinski <kuba@kernel.org>2022-05-13 02:15:30 +0300
commit9b19e57a3c78f1f7c08a48bafb7d84caf6e80b68 (patch)
tree780e0a4b694b7b7aaabe7d7a0df38275e025fad8 /drivers/net/phy/phy.c
parentb33177f1d62bea7dd8a7dd6775116958ea71dc6b (diff)
parentf3f19f939c11925dadd3f4776f99f8c278a7017b (diff)
downloadlinux-9b19e57a3c78f1f7c08a48bafb7d84caf6e80b68.tar.xz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
No conflicts. Build issue in drivers/net/ethernet/sfc/ptp.c 54fccfdd7c66 ("sfc: efx_default_channel_type APIs can be static") 49e6123c65da ("net: sfc: fix memory leak due to ptp channel") https://lore.kernel.org/all/20220510130556.52598fe2@canb.auug.org.au/ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/phy/phy.c')
-rw-r--r--drivers/net/phy/phy.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 9034c6a8e18f..ef62f357b76d 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -974,8 +974,13 @@ static irqreturn_t phy_interrupt(int irq, void *phy_dat)
{
struct phy_device *phydev = phy_dat;
struct phy_driver *drv = phydev->drv;
+ irqreturn_t ret;
- return drv->handle_interrupt(phydev);
+ mutex_lock(&phydev->lock);
+ ret = drv->handle_interrupt(phydev);
+ mutex_unlock(&phydev->lock);
+
+ return ret;
}
/**