diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-01-05 14:11:29 +0100 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-01-05 14:11:29 +0100 |
commit | 5faed5128d3c07f055f96d910529c95814073a09 (patch) | |
tree | 541b83a4f99fcc70ec73b1e313d052233a515390 | |
parent | 8982de2eb4fa2fa6f5a350c348c211542aecfaa1 (diff) |
linux: fix bit tests
The pattern is !x&y. An expression of this form is almost always
meaningless, because it combines a boolean operator with a bit
operator. In particular, if the rightmost bit of y is 0, the result
will always be 0.
Fixed using coccinelle.
// !x&y combines boolean negation with bitwise and
//
// Confidence: High
// Copyright: (C) Gilles Muller, Julia Lawall, EMN, DIKU. GPLv2.
// URL: http://www.emn.fr/x-info/coccinelle/rules/notand.html
// Options:
@@ expression E; constant C; @@
(
!E & !C
|
- !E & C
+ !(E & C)
)
* linux/src/drivers/net/tlan.c: Fix bit tests.
* linux/src/drivers/scsi/AM53C974.c: Likewise.
* linux/src/drivers/scsi/FlashPoint.c: Likewise.
* linux/src/drivers/scsi/NCR5380.c: Likewise.
* linux/src/drivers/scsi/t128.c: Likewise.
-rw-r--r-- | linux/src/drivers/net/tlan.c | 4 | ||||
-rw-r--r-- | linux/src/drivers/scsi/AM53C974.c | 2 | ||||
-rw-r--r-- | linux/src/drivers/scsi/FlashPoint.c | 2 | ||||
-rw-r--r-- | linux/src/drivers/scsi/NCR5380.c | 4 | ||||
-rw-r--r-- | linux/src/drivers/scsi/t128.c | 4 |
5 files changed, 8 insertions, 8 deletions
diff --git a/linux/src/drivers/net/tlan.c b/linux/src/drivers/net/tlan.c index 11e12bb..fedc11f 100644 --- a/linux/src/drivers/net/tlan.c +++ b/linux/src/drivers/net/tlan.c @@ -1132,7 +1132,7 @@ u32 TLan_HandleTxEOF( struct device *dev, u16 host_int ) if ( head_list->cStat & TLAN_CSTAT_EOC ) eoc = 1; - if ( ! head_list->cStat & TLAN_CSTAT_FRM_CMP ) { + if (!(head_list->cStat & TLAN_CSTAT_FRM_CMP)) { printk( "TLAN: Received interrupt for uncompleted TX frame.\n" ); } @@ -1244,7 +1244,7 @@ u32 TLan_HandleRxEOF( struct device *dev, u16 host_int ) eoc = 1; } - if ( ! head_list->cStat & TLAN_CSTAT_FRM_CMP ) { + if (!(head_list->cStat & TLAN_CSTAT_FRM_CMP)) { printk( "TLAN: Received interrupt for uncompleted RX frame.\n" ); } else if ( bbuf ) { skb = dev_alloc_skb( head_list->frameSize + 7 ); diff --git a/linux/src/drivers/scsi/AM53C974.c b/linux/src/drivers/scsi/AM53C974.c index 5178ccf..da139ce 100644 --- a/linux/src/drivers/scsi/AM53C974.c +++ b/linux/src/drivers/scsi/AM53C974.c @@ -1919,7 +1919,7 @@ if ((statreg & STATREG_PHASE) != PHASE_MSGIN) { goto EXIT_ABORT; } msg[0] = AM53C974_read_8(FFREG); -if (!msg[0] & 0x80) { +if (!(msg[0] & 0x80)) { printk("scsi%d: error: expecting IDENTIFY message, got ", instance->host_no); print_msg(msg); hostdata->aborted = 1; diff --git a/linux/src/drivers/scsi/FlashPoint.c b/linux/src/drivers/scsi/FlashPoint.c index aae35c0..4b96a66 100644 --- a/linux/src/drivers/scsi/FlashPoint.c +++ b/linux/src/drivers/scsi/FlashPoint.c @@ -3845,7 +3845,7 @@ int SetDevWideMode(PSCCBcard pCurrCard,PUCB p_ucb) } else { - if(!currTar_Info->TarEEValue & EE_WIDE_SCSI) + if(!(currTar_Info->TarEEValue & EE_WIDE_SCSI)) { return(0); } diff --git a/linux/src/drivers/scsi/NCR5380.c b/linux/src/drivers/scsi/NCR5380.c index 295f2ad..4f085e9 100644 --- a/linux/src/drivers/scsi/NCR5380.c +++ b/linux/src/drivers/scsi/NCR5380.c @@ -1949,7 +1949,7 @@ static int do_abort (struct Scsi_Host *host) { * the target sees, so we just handshake. */ - while (!(tmp = NCR5380_read(STATUS_REG)) & SR_REQ); + while (!((tmp = NCR5380_read(STATUS_REG)) & SR_REQ)); NCR5380_write(TARGET_COMMAND_REG, PHASE_SR_TO_TCR(tmp)); @@ -2900,7 +2900,7 @@ static void NCR5380_reselect (struct Scsi_Host *instance) { NCR5380_transfer_pio(instance, &phase, &len, &data); - if (!msg[0] & 0x80) { + if (!(msg[0] & 0x80)) { printk("scsi%d : expecting IDENTIFY message, got ", instance->host_no); print_msg(msg); diff --git a/linux/src/drivers/scsi/t128.c b/linux/src/drivers/scsi/t128.c index d4c7452..198e910 100644 --- a/linux/src/drivers/scsi/t128.c +++ b/linux/src/drivers/scsi/t128.c @@ -327,7 +327,7 @@ static inline int NCR5380_pread (struct Scsi_Host *instance, unsigned char *dst, for (; i; --i) { while (!(instance->base[T_STATUS_REG_OFFSET]) & T_ST_RDY) barrier(); #else - while (!(instance->base[T_STATUS_REG_OFFSET]) & T_ST_RDY) barrier(); + while (!((instance->base[T_STATUS_REG_OFFSET]) & T_ST_RDY)) barrier(); for (; i; --i) { #endif *d++ = *reg; @@ -370,7 +370,7 @@ static inline int NCR5380_pwrite (struct Scsi_Host *instance, unsigned char *src for (; i; --i) { while (!(instance->base[T_STATUS_REG_OFFSET]) & T_ST_RDY) barrier(); #else - while (!(instance->base[T_STATUS_REG_OFFSET]) & T_ST_RDY) barrier(); + while (!((instance->base[T_STATUS_REG_OFFSET]) & T_ST_RDY)) barrier(); for (; i; --i) { #endif *reg = *s++; |