On Wed, 2020-09-09 at 16:51 +0800, Wei Xu wrote:
> Use the ARRAY_SIZE macro to calculate the size of an array.
> This code was detected with the help of Coccinelle.
[]
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_adminq.h 
> b/drivers/net/ethernet/intel/iavf/iavf_adminq.h
[]
> @@ -120,7 +120,7 @@ static inline int iavf_aq_rc_to_posix(int aq_ret, int 
> aq_rc)
>       if (aq_ret == IAVF_ERR_ADMIN_QUEUE_TIMEOUT)
>               return -EAGAIN;
>  
> -     if (!((u32)aq_rc < (sizeof(aq_to_posix) / sizeof((aq_to_posix)[0]))))
> +     if (!((u32)aq_rc < ARRAY_SIZE(aq_to_posix)))
>               return -ERANGE;

If you want to use a cast,

        if ((u32)aq_rc >= ARRAY_SIZE(aq_to_posix))
                return -ERANGE;

would be a more common and simpler style, though
perhaps testing ac_rc < 0 would be more intelligible.

        if (ac_rc < 0 || ac_rq >= ARRAY_SIZE(aq_to_posix))
                return -ERANGE;



Reply via email to