]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/md/dm-linear.c
Merge tag 'dm-4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device...
[karo-tx-linux.git] / drivers / md / dm-linear.c
index 7dd5fc8e3eeaac8d8d8f148862ecf3c6f298fec2..436f5c9b6aea56dd6652696cc3eac489690c1e8e 100644 (file)
@@ -30,6 +30,7 @@ static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv)
        struct linear_c *lc;
        unsigned long long tmp;
        char dummy;
+       int ret;
 
        if (argc != 2) {
                ti->error = "Invalid argument count";
@@ -42,13 +43,15 @@ static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv)
                return -ENOMEM;
        }
 
+       ret = -EINVAL;
        if (sscanf(argv[1], "%llu%c", &tmp, &dummy) != 1) {
                ti->error = "dm-linear: Invalid device sector";
                goto bad;
        }
        lc->start = tmp;
 
-       if (dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), &lc->dev)) {
+       ret = dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), &lc->dev);
+       if (ret) {
                ti->error = "dm-linear: Device lookup failed";
                goto bad;
        }
@@ -61,7 +64,7 @@ static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 
       bad:
        kfree(lc);
-       return -EINVAL;
+       return ret;
 }
 
 static void linear_dtr(struct dm_target *ti)