Hi,

I have seen this warning on linux-next:
drivers/pci/ide.c:42 reserve_stream_index() error: Calling ida_alloc_range() with a 'max' argument which is a power of 2. -1 missing?

I was wondering if it would be reasonable to skip when min is not zero ?

diff --git a/check_ida_alloc.c b/check_ida_alloc.c
index e29b8ff1b28c..e6374dd31683 100644
--- a/check_ida_alloc.c
+++ b/check_ida_alloc.c
@@ -74,21 +74,21 @@ static void match_ida_alloc_max(const char *fn, struct expression *expr, void *_ static void match_ida_alloc_range(const char *fn, struct expression *expr, void *info)
 {
        struct expression *arg_expr1, *arg_expr2;

        sval_t sval;

        arg_expr1 = get_argument_from_call_expr(expr->args, 1);
        arg_expr1 = strip_expr(arg_expr1);
        arg_expr2 = get_argument_from_call_expr(expr->args, 2);
        arg_expr2 = strip_expr(arg_expr2);

        if (!get_implied_value(arg_expr1, &sval))
                return;

-       if (sval.uvalue == 1)
+       if (sval.uvalue != 0)
                return;

        if (is_power_of_two(arg_expr2))
sm_error("Calling %s() with a 'max' argument which is a power of 2. -1 missing?",
                          fn);
 }

This wouldn't still help silencing warning in this case, but maybe help reduce FPs ? Thoughts ?

Thanks,
Harshit

Reply via email to