diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2013-04-25 13:02:39 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-04-26 09:07:15 +0200 |
commit | bd86055fc938493259a15dc00ee77435b4d2e83f (patch) | |
tree | 6b27c3a5b29acf645beccca7f6231a2b03db9f86 /drivers/s390/block | |
parent | 3ad19b8fb07497f975aa6aba187198ce11191dd2 (diff) |
s390/scm_blk: allow more cluster size values
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>
Diffstat (limited to 'drivers/s390/block')
-rw-r--r-- | drivers/s390/block/scm_blk_cluster.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/s390/block/scm_blk_cluster.c b/drivers/s390/block/scm_blk_cluster.c index f4bb61b0cea1..c0d102e3a48b 100644 --- a/drivers/s390/block/scm_blk_cluster.c +++ b/drivers/s390/block/scm_blk_cluster.c @@ -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)); } |