mm/vmscan: fix error return in kswapd_run()
authorXishi Qiu <qiuxishi@huawei.com>
Wed, 17 Apr 2013 22:58:34 +0000 (15:58 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 17 Apr 2013 23:10:45 +0000 (16:10 -0700)
Fix the error return value in kswapd_run().  The bug was introduced by
commit d5dc0ad928fb ("mm/vmscan: fix error number for failed kthread").

Signed-off-by: Xishi Qiu <qiuxishi@huawei.com>
Reviewed-by: Wanpeng Li <liwanp@linux.vnet.ibm.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Reported-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/vmscan.c

index 88c5fed8b9a4bd9a54021810cf05710cff4fcbfc..669fba39be1aa41bb9adfd040c709e43b194cfe2 100644 (file)
@@ -3188,9 +3188,9 @@ int kswapd_run(int nid)
        if (IS_ERR(pgdat->kswapd)) {
                /* failure at boot is fatal */
                BUG_ON(system_state == SYSTEM_BOOTING);
-               pgdat->kswapd = NULL;
                pr_err("Failed to start kswapd on node %d\n", nid);
                ret = PTR_ERR(pgdat->kswapd);
+               pgdat->kswapd = NULL;
        }
        return ret;
 }