From 0832d6b41e42dc682a53b2ab0417e6d285a1d523 Mon Sep 17 00:00:00 2001 From: "Ira W. Snyder" Date: Wed, 22 Nov 2006 02:59:09 +0000 Subject: [PATCH] [PATCH] TG3: Add missing unlock in tg3_open() error path. Sparse noticed a locking imbalance in tg3_open(). This patch adds an unlock to one of the error paths, so that tg3_open() always exits without the lock held. Signed-off-by: Ira W. Snyder Signed-off-by: David S. Miller Signed-off-by: Chris Wright --- drivers/net/tg3.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index eafabb253f08..fa620aeb7731 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -6889,8 +6889,10 @@ static int tg3_open(struct net_device *dev) tg3_full_lock(tp, 0); err = tg3_set_power_state(tp, PCI_D0); - if (err) + if (err) { + tg3_full_unlock(tp); return err; + } tg3_disable_ints(tp); tp->tg3_flags &= ~TG3_FLAG_INIT_COMPLETE;