diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/smc911x.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index 880d9fdd7c67..43af61438449 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c | |||
@@ -968,11 +968,11 @@ static void smc911x_phy_configure(struct work_struct *work) | |||
968 | * We should not be called if phy_type is zero. | 968 | * We should not be called if phy_type is zero. |
969 | */ | 969 | */ |
970 | if (lp->phy_type == 0) | 970 | if (lp->phy_type == 0) |
971 | goto smc911x_phy_configure_exit; | 971 | goto smc911x_phy_configure_exit_nolock; |
972 | 972 | ||
973 | if (smc911x_phy_reset(dev, phyaddr)) { | 973 | if (smc911x_phy_reset(dev, phyaddr)) { |
974 | printk("%s: PHY reset timed out\n", dev->name); | 974 | printk("%s: PHY reset timed out\n", dev->name); |
975 | goto smc911x_phy_configure_exit; | 975 | goto smc911x_phy_configure_exit_nolock; |
976 | } | 976 | } |
977 | spin_lock_irqsave(&lp->lock, flags); | 977 | spin_lock_irqsave(&lp->lock, flags); |
978 | 978 | ||
@@ -1041,6 +1041,7 @@ static void smc911x_phy_configure(struct work_struct *work) | |||
1041 | 1041 | ||
1042 | smc911x_phy_configure_exit: | 1042 | smc911x_phy_configure_exit: |
1043 | spin_unlock_irqrestore(&lp->lock, flags); | 1043 | spin_unlock_irqrestore(&lp->lock, flags); |
1044 | smc911x_phy_configure_exit_nolock: | ||
1044 | lp->work_pending = 0; | 1045 | lp->work_pending = 0; |
1045 | } | 1046 | } |
1046 | 1047 | ||