Comments
Patch
=====================================
[ BUG: bad unlock balance detected! ]
-------------------------------------
A regression added by 717d438d1fde94decef874b9808379d1f4523453 ("e1000e:
debug contention on NVM SWFLAG").
Reported-by: "Zdenek Kabelac" <zdenek.kabelac@gmail.com>
Cc: Frederik Deweerdt <frederik.deweerdt@xprog.eu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
drivers/net/e1000e/ich8lan.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
@@ -400,6 +400,7 @@ static s32 e1000_acquire_swflag_ich8lan(
{
u32 extcnf_ctrl;
u32 timeout = PHY_CFG_TIMEOUT;
+ s32 ret = 0;
might_sleep();
@@ -427,11 +428,11 @@ static s32 e1000_acquire_swflag_ich8lan(
extcnf_ctrl &= ~E1000_EXTCNF_CTRL_SWFLAG;
ew32(EXTCNF_CTRL, extcnf_ctrl);
nvm_owner = -1;
- mutex_unlock(&nvm_mutex);
- return -E1000_ERR_CONFIG;
+ ret = -E1000_ERR_CONFIG;
}
- return 0;
+ mutex_unlock(&nvm_mutex);
+ return ret;
}
/**