Re: [PATCH] net: wimax: i2400m: control.c: Cleaning up conjunction always evaluates to false

From: Rickard Strandqvist
Date: Sat Jun 07 2014 - 07:53:16 EST


Hi

Thought about it, and now it becomes clearer.
But if someone decides to change the X or Y to a larger range than 1
and 2, it will not be correct ..?
Or, will it not happen?

But I'm no expert on this code :)
I just wanted to point out the logical error.


Best regards
Rickard Strandqvist


2014-06-07 13:42 GMT+02:00 Joe Perches <joe@xxxxxxxxxxx>:
> On Sat, 2014-06-07 at 13:26 +0200, Rickard Strandqvist wrote:
>> Logical conjunction always evaluates to false: minor < 2 && minor > 1
>> I guess what you wanted is rather: minor > 2 || minor < 1
> []
>> diff --git a/drivers/net/wimax/i2400m/control.c b/drivers/net/wimax/i2400m/control.c
> []
>> @@ -1061,7 +1061,7 @@ int i2400m_firmware_check(struct i2400m *i2400m)
>> goto error_bad_major;
>> }
>> result = 0;
>> - if (minor < I2400M_HDIv_MINOR_2 && minor > I2400M_HDIv_MINOR)
>> + if (minor > I2400M_HDIv_MINOR_2 || minor < I2400M_HDIv_MINOR)
>
> perhaps clearer as:
>
> if (!(minor == I2400M_HDIv_MINOR || minor == I2400M_HDIv_MINOR_2))
>
>> dev_warn(dev, "untested minor fw version %u.%u.%u\n",
>> major, minor, branch);
>> /* Yes, we ignore the branch -- we don't have to track it */
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/