vme: fake: remove unexpected unlock in fake_master_set()
authorWei Yongjun <weiyongjun1@huawei.com>
Sat, 17 Sep 2016 01:57:34 +0000 (01:57 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Sep 2016 10:43:35 +0000 (12:43 +0200)
image->lock is unlocked in some error handling path without take the
lock, so remove those unexpected unlock.

Fixes: 658bcdae9c67 ("vme: Adding Fake VME driver")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/vme/bridges/vme_fake.c

index 29ac74f..30b3acc 100644 (file)
@@ -273,7 +273,6 @@ static int fake_master_set(struct vme_master_resource *image, int enabled,
        }
 
        if (size & 0xFFFF) {
-               spin_unlock(&image->lock);
                pr_err("Invalid size alignment\n");
                retval = -EINVAL;
                goto err_window;
@@ -292,7 +291,6 @@ static int fake_master_set(struct vme_master_resource *image, int enabled,
        case VME_D32:
                break;
        default:
-               spin_unlock(&image->lock);
                pr_err("Invalid data width\n");
                retval = -EINVAL;
                goto err_dwidth;
@@ -311,7 +309,6 @@ static int fake_master_set(struct vme_master_resource *image, int enabled,
        case VME_USER4:
                break;
        default:
-               spin_unlock(&image->lock);
                pr_err("Invalid address space\n");
                retval = -EINVAL;
                goto err_aspace;