From: Wei Yongjun Date: Mon, 5 Aug 2013 04:42:00 +0000 (+0800) Subject: tile: fix missing unlock on error in tile_net_open() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=1155e964a616a9bd4b603f6f8bf4f47576b010c5;p=openwrt%2Fstaging%2Fblogic.git 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 --- diff --git a/drivers/net/ethernet/tile/tilegx.c b/drivers/net/ethernet/tile/tilegx.c index 907b5772fd55..5d2a719fc688 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;