Dan Carpenter writes:
> Hello Ralph Metzler,
>
> The patch 43dd07f758d8: "[media] DRX-K: Initial check-in" from Jul 3,
> 2011, leads to the following warning:
> drivers/media/dvb/frontends/drxk_hard.c:2980 ADCSynchronization()
> warn: suspicious bitop condition
>
> 2977 status = read16(state, IQM_AF_CLKNEG__A, &clkNeg);
> 2978 if (status < 0)
> 2979 goto error;
> 2980 if ((clkNeg | IQM_AF_CLKNEG_CLKNEGDATA__M) ==
> 2981 IQM_AF_CLKNEG_CLKNEGDATA_CLK_ADC_DATA_POS) {
>
> IQM_AF_CLKNEG_CLKNEGDATA__M is 2.
> IQM_AF_CLKNEG_CLKNEGDATA_CLK_ADC_DATA_POS is 0.
> So this condition can never be true.
It seems this should be & instead of |. The mistake was also present in the
windows driver.
>
> 2982 clkNeg &= (~(IQM_AF_CLKNEG_CLKNEGDATA__M));
> 2983 clkNeg |=
> 2984
> IQM_AF_CLKNEG_CLKNEGDATA_CLK_ADC_DATA_NEG;
> 2985 } else {
> 2986 clkNeg &= (~(IQM_AF_CLKNEG_CLKNEGDATA__M));
> 2987 clkNeg |=
> 2988
> IQM_AF_CLKNEG_CLKNEGDATA_CLK_ADC_DATA_POS;
>
> clkNeg |= 0; <-- doesn't make much sense to the unenlightened.
>
> 2989 }
This is perfectly normal since those defines were automatically created from
the
firmware source code. It is better to leave the code as it is. If there ever is
a firmware update
and these bits change their values it will be much harder to adjust the driver.
Regards,
Ralph
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html