On Wed, 2020-09-09 at 02:33 -0700, Joe Perches wrote: > 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))
(hah, I typed aq_rc wrong both times, so maybe it's not _that_ much better...) if (aq_rc < 0 || aq_rc >= ARRAY_SIZE(aq_to_posix))