The expression was clearly wrong, the logical AND of expressions
must be changed to a logical OR.
Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Michael Moese <michael.moese@men.de>
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                reg = readl(*base);
 
                bar_count = BAR_CNT(reg);
-               if (bar_count <= 0 && bar_count > CHAMELEON_BAR_MAX)
+               if (bar_count <= 0 || bar_count > CHAMELEON_BAR_MAX)
                        return -ENODEV;
 
                c = kcalloc(bar_count, sizeof(struct chameleon_bar),