zram: Fix deadlock bug in partial read/write
[pandora-kernel.git] / drivers / staging / zram / zram_drv.c
index 09de99f..2594a31 100644 (file)
@@ -242,7 +242,7 @@ static int zram_bvec_read(struct zram *zram, struct bio_vec *bvec,
 
        if (is_partial_io(bvec)) {
                /* Use  a temporary buffer to decompress the page */
-               uncmem = kmalloc(PAGE_SIZE, GFP_KERNEL);
+               uncmem = kmalloc(PAGE_SIZE, GFP_NOIO);
                if (!uncmem) {
                        pr_info("Error allocating temp memory!\n");
                        return -ENOMEM;
@@ -338,7 +338,7 @@ static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec, u32 index,
                 * This is a partial IO. We need to read the full page
                 * before to write the changes.
                 */
-               uncmem = kmalloc(PAGE_SIZE, GFP_KERNEL);
+               uncmem = kmalloc(PAGE_SIZE, GFP_NOIO);
                if (!uncmem) {
                        pr_info("Error allocating temp memory!\n");
                        ret = -ENOMEM;