On Oct 11, 2007, at 03:35:37, Alexey Dobriyan wrote:
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 <adobriyan@xxxxx>
---
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;
Hmm, here's a question for you: The old code was equivalent to "tsv-
>svv[0] = 1;", what's your proof that we don't rely on this "bug"
elsewhere in the code? In other words, this is a significant
behavior change (albeit fixing an apparent bug) from what we've done
for a while. You might want to do a git-blame on this bit of code to
see who the last person to modify it was and ask them to test or
confirm the patch first. The same general questions apply to the
other logical-op bugs.
Cheers,
Kyle Moffett
-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html