The local variable div_ratio could be less than zero, so let's define
it as type of int32_t instead of uint32_t.
This issue is reported by Coverity:
Unsigned compared against 0 (NO_EFFECT)
unsigned_compare: This less-than-zero comparison of an unsigned value
is never true. div_ratio < 0U.
if (div_ratio > 0xFF || div_ratio < 0) {
dev_dbg(ipu->dev, "value of pixel_clk extends normal range\n");
return -EINVAL;
}
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
int _ipu_csi_mclk_set(struct ipu_soc *ipu, uint32_t pixel_clk, uint32_t csi)
{
uint32_t temp;
- uint32_t div_ratio;
+ int32_t div_ratio;
div_ratio = (clk_get_rate(ipu->ipu_clk) / pixel_clk) - 1;