cprc->f2fs_issue_ckpt = kthread_run(issue_checkpoint_thread, sbi,
                        "f2fs_ckpt-%u:%u", MAJOR(dev), MINOR(dev));
        if (IS_ERR(cprc->f2fs_issue_ckpt)) {
+               int err = PTR_ERR(cprc->f2fs_issue_ckpt);
+
                cprc->f2fs_issue_ckpt = NULL;
-               return -ENOMEM;
+               return err;
        }
 
        set_task_ioprio(cprc->f2fs_issue_ckpt, cprc->ckpt_thread_ioprio);
 
 {
        struct f2fs_gc_kthread *gc_th;
        dev_t dev = sbi->sb->s_bdev->bd_dev;
-       int err = 0;
 
        gc_th = f2fs_kmalloc(sbi, sizeof(struct f2fs_gc_kthread), GFP_KERNEL);
-       if (!gc_th) {
-               err = -ENOMEM;
-               goto out;
-       }
+       if (!gc_th)
+               return -ENOMEM;
 
        gc_th->urgent_sleep_time = DEF_GC_THREAD_URGENT_SLEEP_TIME;
        gc_th->min_sleep_time = DEF_GC_THREAD_MIN_SLEEP_TIME;
        sbi->gc_thread->f2fs_gc_task = kthread_run(gc_thread_func, sbi,
                        "f2fs_gc-%u:%u", MAJOR(dev), MINOR(dev));
        if (IS_ERR(gc_th->f2fs_gc_task)) {
-               err = PTR_ERR(gc_th->f2fs_gc_task);
+               int err = PTR_ERR(gc_th->f2fs_gc_task);
+
                kfree(gc_th);
                sbi->gc_thread = NULL;
+               return err;
        }
-out:
-       return err;
+
+       return 0;
 }
 
 void f2fs_stop_gc_thread(struct f2fs_sb_info *sbi)
 
 {
        dev_t dev = sbi->sb->s_bdev->bd_dev;
        struct flush_cmd_control *fcc;
-       int err;
 
        if (SM_I(sbi)->fcc_info) {
                fcc = SM_I(sbi)->fcc_info;
        fcc->f2fs_issue_flush = kthread_run(issue_flush_thread, sbi,
                                "f2fs_flush-%u:%u", MAJOR(dev), MINOR(dev));
        if (IS_ERR(fcc->f2fs_issue_flush)) {
-               err = PTR_ERR(fcc->f2fs_issue_flush);
+               int err = PTR_ERR(fcc->f2fs_issue_flush);
+
                kfree(fcc);
                SM_I(sbi)->fcc_info = NULL;
                return err;