[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>
This commit is contained in:
vignesh babu 2007-12-13 12:43:41 -06:00 committed by James Bottomley
parent 4545a88fc1
commit 1183657217

View File

@ -24,6 +24,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/kfifo.h> #include <linux/kfifo.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/log2.h>
#include <asm/unaligned.h> #include <asm/unaligned.h>
#include <net/tcp.h> #include <net/tcp.h>
#include <scsi/scsi_cmnd.h> #include <scsi/scsi_cmnd.h>
@ -1700,7 +1701,7 @@ iscsi_session_setup(struct iscsi_transport *iscsit,
qdepth = ISCSI_DEF_CMD_PER_LUN; 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) { cmds_max >= ISCSI_MGMT_ITT_OFFSET) {
if (cmds_max != 0) if (cmds_max != 0)
printk(KERN_ERR "iscsi: invalid can_queue of %d. " printk(KERN_ERR "iscsi: invalid can_queue of %d. "