Fix a lock problem in generic phy code
Lock debugging finds a problem in phy.c and phy_device.c, this patch fixes it. Tested on an AT91SAM9263-EK board, kernel 2.6.23-rc4. Signed-off-by: Hans J. Koch <hjk@linutronix.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
committed by
Jeff Garzik
parent
d1b139c039
commit
026d7917e5
@@ -755,7 +755,7 @@ out_unlock:
|
||||
*/
|
||||
void phy_start(struct phy_device *phydev)
|
||||
{
|
||||
spin_lock(&phydev->lock);
|
||||
spin_lock_bh(&phydev->lock);
|
||||
|
||||
switch (phydev->state) {
|
||||
case PHY_STARTING:
|
||||
@@ -769,7 +769,7 @@ void phy_start(struct phy_device *phydev)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
spin_unlock(&phydev->lock);
|
||||
spin_unlock_bh(&phydev->lock);
|
||||
}
|
||||
EXPORT_SYMBOL(phy_stop);
|
||||
EXPORT_SYMBOL(phy_start);
|
||||
|
Reference in New Issue
Block a user