Skip to contentSkip to conversation

is_power_of_2-scsi/NCR53C9x.c

PATCH In review vignesh babu 2 participants 2 messages Jun 12, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 is_power_of_2-scsi/NCR53C9x.c

Replacing (n & (n-1)) in the context of power of 2 checks with is_power_of_2

---

drivers/scsi/NCR53C9x.c +2 -1
index 8b5334c..2868b1a 100644
@@ -33,6 +33,7 @@
 #include <linux/proc_fs.h>
 #include <linux/stat.h>
 #include <linux/init.h>
+#include <linux/log2.h>
 
 #include "scsi.h"
 #include <scsi/scsi_host.h>
@@ -1651,7 +1652,7 @@ static inline int reconnect_target(struct NCR_ESP *esp, struct ESP_regs *eregs)
 	if(!(it & me))
 		return -1;
 	it &= ~me;
-	if(it & (it - 1))
+	if(!is_power_of_2(it))
 		return -1;
 	while(!(it & 1))
 		targ++, it >>= 1;
Signature · 3 lines
Vignesh Babu BM 
_____________________________________________________________ 
"Why is it that every time I'm with you, makes me believe in magic?"
#1 lore raw

drivers/scsi/NCR53C9x.c static inline int reconnect_target(struct NCR_ESP *esp, struct ESP_regs *eregs) · line 1658

Quoted 9 lines · vignesh babu
drivers/scsi/NCR53C9x.c +1 -1
@@ -1651,7 +1652,7 @@ static inline int reconnect_target(struct NCR_ESP *esp, struct ESP_regs *eregs)
 	if(!(it & me))
 		return -1;
 	it &= ~me;
-	if(it & (it - 1))
+	if(!is_power_of_2(it))
 		return -1;
 	while(!(it & 1))
 		targ++, it >>= 1;

I think you actually want to do:

- if(!(it & me))
- return -1;
it &= ~me;
- if(it & (it - 1))
+ if (!is_power_of_2(it))
return -1;

as it looks to me like the first test is checking for the n != 0 case in is_power_of_two().

Not that it'll matter much -- AIUI, this driver is scheduled for deletion soon.
_______________________________________________
Kernel-janitors mailing list [email protected]
https://lists.linux-foundation.org/mailman/listinfo/kernel-janitors