bus: sunxi-rsb: unlock on error in sunxi_rsb_read()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 3 Nov 2015 22:02:44 +0000 (01:02 +0300)
committerMaxime Ripard <maxime.ripard@free-electrons.com>
Tue, 17 Nov 2015 08:40:49 +0000 (09:40 +0100)
Don't forget to unlock before returning an error code.

Fixes: d787dcdb9c8f ('bus: sunxi-rsb: Add driver for Allwinner Reduced Serial Bus')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/bus/sunxi-rsb.c

index 846bc29c157dcca1bde81f288a5d323476042295..0cfcb39c53f464377c5c0497ecb910538b88e984 100644 (file)
@@ -342,13 +342,13 @@ static int sunxi_rsb_read(struct sunxi_rsb *rsb, u8 rtaddr, u8 addr,
 
        ret = _sunxi_rsb_run_xfer(rsb);
        if (ret)
-               goto out;
+               goto unlock;
 
        *buf = readl(rsb->regs + RSB_DATA);
 
+unlock:
        mutex_unlock(&rsb->lock);
 
-out:
        return ret;
 }