On Fri, Jan 28, 2022 at 09:35:27PM +0500, Muhammad Usama Anjum wrote: > rs_id is of unsigned type, u8. The condition rs_id >= 0 will always be > true. Remove the if-else condition and the dead code. > No, this isn't the right fix. > Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx> > --- > drivers/clk/visconti/clkc.c | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) > > diff --git a/drivers/clk/visconti/clkc.c b/drivers/clk/visconti/clkc.c > index 56a8a4ffebca8..5ccf771d05985 100644 > --- a/drivers/clk/visconti/clkc.c > +++ b/drivers/clk/visconti/clkc.c > @@ -147,13 +147,9 @@ int visconti_clk_register_gates(struct visconti_clk_provider *ctx, > if (!dev_name) > return -ENOMEM; > > - if (clks[i].rs_id >= 0) { > - rson_offset = reset[clks[i].rs_id].rson_offset; > - rsoff_offset = reset[clks[i].rs_id].rsoff_offset; > - rs_idx = reset[clks[i].rs_id].rs_idx; > - } else { > - rson_offset = rsoff_offset = rs_idx = -1; > - } > + rson_offset = reset[clks[i].rs_id].rson_offset; > + rsoff_offset = reset[clks[i].rs_id].rsoff_offset; > + rs_idx = reset[clks[i].rs_id].rs_idx; With Smatch you can type: $ smdb.py where visconti_clk_gate_table rs_id drivers/clk/visconti/clkc-tmpv770x.c | (null) | (struct visconti_clk_gate_table)->rs_id | 0-31,255 That tells you it is assigned 255 as a global in drivers/clk/visconti/clkc-tmpv770x.c It takes some digging to find that assignment... drivers/clk/visconti/clkc-tmpv770x.c 175 /* PISYSTEM */ 176 { TMPV770X_CLK_WRCK, "wrck", 177 clks_parent_data, ARRAY_SIZE(clks_parent_data), 178 0, 0x68, 0x168, 9, 32, 179 -1, }, /* No reset */ ^^ Really, that -1 there should generate a static checker warning but it doesn't on Smatch... :/ But the probably the correct fix is to make rs_id and related variables and int instead of a u8. I saw this bug but just reported it instead of fixing it. regards, dan carpenter