Subject: Re: qla3xxx: Odd likely incorrect use of test_bit in qla3xxx.c

From: Joe Perches <[email-masked]>
Date: Thu, 14 May 2015 01:22:57 -0700

On Thu, 2015-05-14 at 11:01 +0300, Dan Carpenter wrote:
> On Wed, May 13, 2015 at 10:34:51AM -0700, Joe Perches wrote:
> > In case the patches you found weren't of this type,
> > there are other possibly suspicious uses with & like:
> > drivers/usb/host/ehci-tegra.c:		set_bit((wIndex & 0xff) - 1, &ehci->suspended_ports);
> That's puzzling, yes, but my instinct without looking at the context is
> that it's probably valid.

It may be valid, but at a minimum it's bad code.

Assuming wIndex is guaranteed non-zero, it likely
should be something like:

(wIndex % BITS_PER_LONG) - 1

or suspended_ports should be more than a single ulong

Anyway, thanks.