On Thu, 25 Feb 2021 18:32:41 +0000 Colin King wrote: > From: Colin Ian King <colin.king@xxxxxxxxxxxxx> > > Currently the expression ~nic_conf1 is always true because nic_conf1 > is a u16 and according to 6.5.3.3 of the C standard the ~ operator > promotes the u16 to an integer before flipping all the bits. Thus > the top 16 bits of the integer result are all set so the expression > is always true. If the intention was to flip all the bits of nic_conf1 > then casting the integer result back to a u16 is a suitabel fix. > > Interestingly static analyzers seem to thing a bitwise ! should be > used instead of ~ for this scenario In what way? The condition is nic_conf1 != 0xffff AFAICT, how would we do that with !? > so I think the original intent > of the expression may need some extra consideration. > > Addresses-Coverity: ("Logical vs. bitwise operator") > Fixes: c869f77d6abb ("add mt7601u driver") > Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Acked-by: Jakub Kicinski <kubakici@xxxxx> Thanks for the fix!