Re: [rfc patch] wm8994: range checking issue

Mark Brown
2010-03-24T12:59:46Z

On Wed, Mar 24, 2010 at 03:01:07PM +0300, Dan Carpenter wrote:
> Smatch complained about BUG_ON(reg > WM8994_MAX_REGISTER) because the
> actual number of elements in the array was WM8994_REG_CACHE_SIZE + 1.

> I changed the BUG_ON() to return -EINVAL.

Please don't introduce orthogonal changes like this in patches, it's bad
practice and increases the chances of your patch being nacked.

> I was confused why WM8994_REG_CACHE_SIZE was different from the actual
> size of ->reg_cache and I was concerned because some places used
> ARRAY_SIZE() to find the end of the array and other places used
> WM8994_REG_CACHE_SIZE. In my patch, I made them the same.

This is caused by confusion with the MAX_CACHED_REGISTER definition in
the header. Best to use that one consistently, I guess - I've got a
sneaking suspicion something has gone AWOL in the driver publication
process.