From 1155e964a616a9bd4b603f6f8bf4f47576b010c5 Mon Sep 17 00:00:00 2001 From: Wei Yongjun Date: Mon, 5 Aug 2013 12:42:00 +0800 Subject: [PATCH] tile: fix missing unlock on error in tile_net_open() Add the missing unlock before return from function tile_net_open() in the error handling case. Introduced by commit f3286a3af89d6db7a488f3e8f02b98d67d50f00c. (tile: support multiple mPIPE shims in tilegx network driver) Signed-off-by: Wei Yongjun Acked-by: Chris Metcalf Signed-off-by: David S. Miller --- drivers/net/ethernet/tile/tilegx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/tile/tilegx.c b/drivers/net/ethernet/tile/tilegx.c index 907b577..5d2a719 100644 --- a/drivers/net/ethernet/tile/tilegx.c +++ b/drivers/net/ethernet/tile/tilegx.c @@ -1510,8 +1510,10 @@ static int tile_net_open(struct net_device *dev) /* Get the instance info. */ rc = gxio_mpipe_link_instance(dev->name); - if (rc < 0 || rc >= NR_MPIPE_MAX) + if (rc < 0 || rc >= NR_MPIPE_MAX) { + mutex_unlock(&tile_net_devs_for_channel_mutex); return -EIO; + } priv->instance = rc; instance = rc; -- 2.7.4