1 is a power of two, therefore rounddown_pow_of_two(1) should return 1.
It does in case the argument is a variable but in case it's a constant it
behaves wrong and returns 0. Probably nobody ever did it so this was
never noticed, however net/drivers/vmxnet3 with latest GCC does and breaks
on unicpu systems.
This is similar to Rolf's patch to roundup_pow_of_two(1).
Cc: Rolf Eike Beer <eike-kernel@sf-tec.de> Reviewed-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Andrei Warkentin <andreiw@vmware.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>