Re: [PATCH] mei: fix incorrect logical operator in if statement

From: Colin Ian King
Date: Wed Dec 20 2017 - 04:10:50 EST


On 20/12/17 08:58, Winkler, Tomas wrote:
>
>> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>>
>> The current expression using the || operator is always true because
>> dev->dev_state cannot be equal to two different values at the same time.
>> Fix this by replacing the || with &&.
>>
>> Detected by CoverityScan, CID#1463042 ("Constant expression result")
>>
>> Fixes: 8d52af6795c0 ("mei: speed up the power down flow")
>> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> Shame on me.

No worries, that's why I run static analysis linux-next.

> Ack.
> Tomas
>
>> ---
>> drivers/misc/mei/hw-me.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/misc/mei/hw-me.c b/drivers/misc/mei/hw-me.c index
>> 0b21f9ec00f5..334ab02e1de2 100644
>> --- a/drivers/misc/mei/hw-me.c
>> +++ b/drivers/misc/mei/hw-me.c
>> @@ -1261,7 +1261,7 @@ irqreturn_t mei_me_irq_thread_handler(int irq,
>> void *dev_id)
>> break;
>>
>> if (rets &&
>> - (dev->dev_state != MEI_DEV_RESETTING ||
>> + (dev->dev_state != MEI_DEV_RESETTING &&
>> dev->dev_state != MEI_DEV_POWER_DOWN)) {
>> dev_err(dev->dev, "mei_irq_read_handler ret =
>> %d.\n",
>> rets);
>> --
>> 2.14.1
>
> NïïïïïrïïyïïïbïXïïÇvï^ï)Þ{.nï+ïïïzïÞ6ïïï+ï)ïïïw*jgïïïïïïïïÝj/ïïïzïÞïï2ïÞïïï&ï)ßïaïïïïïGïïïhïïj:+vïïïwïÙ
>