summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libiscsi.c
diff options
context:
space:
mode:
authorvignesh babu <vignesh.babu@wipro.com>2007-12-13 19:43:41 +0100
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-01-12 01:28:51 +0100
commit118365721768f29d74718a59895ed7bd3c10b68e (patch)
tree3bd814b509c6b9d1abaf7185d17588b88f208775 /drivers/scsi/libiscsi.c
parent[SCSI] iscsi_tcp: hold lock during data rsp processing (diff)
downloadlinux-118365721768f29d74718a59895ed7bd3c10b68e.tar.xz
linux-118365721768f29d74718a59895ed7bd3c10b68e.zip
[SCSI] libiscsi: use is_power_of_2
Replacing n & (n - 1) for power of 2 check by is_power_of_2(n) Signed-off-by: vignesh babu <vignesh.babu@wipro.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to '')
-rw-r--r--drivers/scsi/libiscsi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index 6573223cb346..553168ae44f1 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -24,6 +24,7 @@
#include <linux/types.h>
#include <linux/kfifo.h>
#include <linux/delay.h>
+#include <linux/log2.h>
#include <asm/unaligned.h>
#include <net/tcp.h>
#include <scsi/scsi_cmnd.h>
@@ -1700,7 +1701,7 @@ iscsi_session_setup(struct iscsi_transport *iscsit,
qdepth = ISCSI_DEF_CMD_PER_LUN;
}
- if (cmds_max < 2 || (cmds_max & (cmds_max - 1)) ||
+ if (!is_power_of_2(cmds_max) ||
cmds_max >= ISCSI_MGMT_ITT_OFFSET) {
if (cmds_max != 0)
printk(KERN_ERR "iscsi: invalid can_queue of %d. "