On Wed, Oct 10, 2007 at 04:45:46AM -0700, Josh Triplett wrote:
> Alexey Dobriyan wrote:
> > ["if (!x & y)" patch from [EMAIL PROTECTED]
> > ["if (!x & y)" patch from [EMAIL PROTECTED]
> > ["if (!x & y)" patches from [EMAIL PROTECTED]
> > 
> > While we're at it, below is somewhat ugly sparse patch for detecting
> > "&& 0x" typos.
> 
> Excellent idea!  I think it applies to || as well.

Sadly, yes.

[PATCH] smctr: fix "|| 0x" typo

IBM_PASS_SOURCE_ADDR is 1, so logically ORing it with status bits is
pretty useless. Do bitwise OR, instead.

Signed-off-by: Alexey Dobriyan <[EMAIL PROTECTED]>
---

 drivers/net/tokenring/smctr.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/net/tokenring/smctr.c
+++ b/drivers/net/tokenring/smctr.c
@@ -3413,7 +3413,7 @@ static int smctr_make_tx_status_code(struct net_device 
*dev,
         tsv->svi = TRANSMIT_STATUS_CODE;
         tsv->svl = S_TRANSMIT_STATUS_CODE;
 
-        tsv->svv[0] = ((tx_fstatus & 0x0100 >> 6) || IBM_PASS_SOURCE_ADDR);
+        tsv->svv[0] = ((tx_fstatus & 0x0100 >> 6) | IBM_PASS_SOURCE_ADDR);
 
         /* Stripped frame status of Transmitted Frame */
         tsv->svv[1] = tx_fstatus & 0xff;

> I'll most likely
> add a -Wboolean-logic-on-bit-constant to turn this warning on.

Ewww, more options. :-(

> Any reason why this wouldn't apply to octal constants or to GCC's new
> binary constants?  I can trivially modify this patch to handle those
> as well, just by dropping the check for an 'x' or 'X', and renaming the
> flag.

OK, let me try too.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to