s390/scm_blk: allow more cluster size values
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Thu, 25 Apr 2013 11:02:39 +0000 (13:02 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 26 Apr 2013 07:07:15 +0000 (09:07 +0200)
Allow 0 and powers of 2 between 2 and 128 for write_cluster_size.

Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/block/scm_blk_cluster.c

index f4bb61b..c0d102e 100644 (file)
@@ -223,6 +223,8 @@ void scm_cluster_request_irq(struct scm_request *scmrq)
 
 bool scm_cluster_size_valid(void)
 {
-       return write_cluster_size == 0 || write_cluster_size == 32 ||
-               write_cluster_size == 64 || write_cluster_size == 128;
+       if (write_cluster_size == 1 || write_cluster_size > 128)
+               return false;
+
+       return !(write_cluster_size & (write_cluster_size - 1));
 }