diff options
Diffstat (limited to 'drivers/s390/block/scm_blk_cluster.c')
| -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 f4bb61b0cea..c0d102e3a48 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));  }  |