aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/mt7621-eth
diff options
context:
space:
mode:
authorNeilBrown <neil@brown.name>2018-05-04 14:58:35 +1000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-05-06 19:09:23 -0700
commit61749d183e1d33d785ee1db11ba42c5b88fd947c (patch)
treec5491a301138affb303621ef656d51c606c051ea /drivers/staging/mt7621-eth
parentstaging: mt7621-mmc: Remove unused barrier macros (diff)
downloadlinux-dev-61749d183e1d33d785ee1db11ba42c5b88fd947c.tar.xz
linux-dev-61749d183e1d33d785ee1db11ba42c5b88fd947c.zip
staging: mt7621-eth: Lock is never unlocked.
mtk_phy_link_adjust takes a spinlock and disables interrupts, but never unlocks. This can leave interrupts disabled on one CPU and various things stop working. Signed-off-by: NeilBrown <neil@brown.name> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/mt7621-eth')
-rw-r--r--drivers/staging/mt7621-eth/mdio.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/staging/mt7621-eth/mdio.c b/drivers/staging/mt7621-eth/mdio.c
index 9d713078ef90..c6db11aad9e4 100644
--- a/drivers/staging/mt7621-eth/mdio.c
+++ b/drivers/staging/mt7621-eth/mdio.c
@@ -57,6 +57,7 @@ static void mtk_phy_link_adjust(struct net_device *dev)
}
}
}
+ spin_unlock_irqrestore(&eth->phy->lock, flags);
}
int mtk_connect_phy_node(struct mtk_eth *eth, struct mtk_mac *mac,