From edd8ce73cbbe05373ee081767b0ab23634a97f2c Mon Sep 17 00:00:00 2001 From: Jerome Marchand Date: Tue, 6 Sep 2011 15:02:12 +0200 Subject: [PATCH] --- yaml --- r: 268279 b: refs/heads/master c: 5a18c53147205797da3dbc5a7c2678d16709d2dc h: refs/heads/master i: 268277: 168e8ffebe264c4d97e5e159407c6035b7e8a587 268275: 67a08367835dc16dffad7c1e93bb6952559c45b7 268271: 2e0dc19a919d52e6f76c09c9cbb07131bfb0f951 v: v3 --- [refs] | 2 +- trunk/drivers/staging/zram/zram_drv.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 5e46af13ef02..67960c700e8d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0900beae178a84e653d9088979cf3014babc097e +refs/heads/master: 5a18c53147205797da3dbc5a7c2678d16709d2dc diff --git a/trunk/drivers/staging/zram/zram_drv.c b/trunk/drivers/staging/zram/zram_drv.c index 6fb2be31b3f8..dbb436863e7f 100644 --- a/trunk/drivers/staging/zram/zram_drv.c +++ b/trunk/drivers/staging/zram/zram_drv.c @@ -651,24 +651,22 @@ int zram_init_device(struct zram *zram) if (!zram->compress_workmem) { pr_err("Error allocating compressor working memory!\n"); ret = -ENOMEM; - goto fail; + goto fail_no_table; } zram->compress_buffer = (void *)__get_free_pages(__GFP_ZERO, 1); if (!zram->compress_buffer) { pr_err("Error allocating compressor buffer space\n"); ret = -ENOMEM; - goto fail; + goto fail_no_table; } num_pages = zram->disksize >> PAGE_SHIFT; zram->table = vzalloc(num_pages * sizeof(*zram->table)); if (!zram->table) { pr_err("Error allocating zram address table\n"); - /* To prevent accessing table entries during cleanup */ - zram->disksize = 0; ret = -ENOMEM; - goto fail; + goto fail_no_table; } set_capacity(zram->disk, zram->disksize >> SECTOR_SHIFT); @@ -689,6 +687,9 @@ int zram_init_device(struct zram *zram) pr_debug("Initialization done!\n"); return 0; +fail_no_table: + /* To prevent accessing table entries during cleanup */ + zram->disksize = 0; fail: __zram_reset_device(zram); up_write(&zram->init_lock);