3.2.52-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Ben Hutchings <[email protected]>

This reverts commit 9e443904906ca2b5b3ae71f34ac4a4fa6905623e, which
was commit 57ab048532c0d975538cebd4456491b5c34248f4 upstream.

Taking the semaphore here leads to sleeping in atomic context.  This
was fixed in mainline commit a0c516cbfc74 ("zram: don't grab mutex in
zram_slot_free_noity") but that is too difficult to backport.

Signed-off-by: Ben Hutchings <[email protected]>
---
--- a/drivers/staging/zram/zram_drv.c
+++ b/drivers/staging/zram/zram_drv.c
@@ -709,9 +709,7 @@ static void zram_slot_free_notify(struct
        struct zram *zram;
 
        zram = bdev->bd_disk->private_data;
-       down_write(&zram->lock);
        zram_free_page(zram, index);
-       up_write(&zram->lock);
        zram_stat64_inc(zram, &zram->stats.notify_free);
 }
 
--- a/drivers/staging/zram/zram_drv.h
+++ b/drivers/staging/zram/zram_drv.h
@@ -107,9 +107,8 @@ struct zram {
        void *compress_buffer;
        struct table *table;
        spinlock_t stat64_lock; /* protect 64-bit stats */
-       struct rw_semaphore lock; /* protect compression buffers, table,
-                                  * 32bit stat counters against concurrent
-                                  * notifications, reads and writes */
+       struct rw_semaphore lock; /* protect compression buffers and table
+                                  * against concurrent read and writes */
        struct request_queue *queue;
        struct gendisk *disk;
        int init_done;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to