Message ID | 20141029154805.GC5290@mwanda (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Wed, 2014-10-29 at 18:48 +0300, Dan Carpenter wrote: > The right shift operation has higher precedence than the mask so we > left shift by "(i * 3)" and then immediately right shift by "(i * 3)" > then we mask. It should be left shift, mask, and then right shift. > Hey Dan. My grep pattern doesn't like operations on the thing masked. Did you find this by some tool or visual inspection via grep? -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Oct 29, 2014 at 09:08:39AM -0700, Joe Perches wrote: > On Wed, 2014-10-29 at 18:48 +0300, Dan Carpenter wrote: > > The right shift operation has higher precedence than the mask so we > > left shift by "(i * 3)" and then immediately right shift by "(i * 3)" > > then we mask. It should be left shift, mask, and then right shift. > > > Hey Dan. > > My grep pattern doesn't like operations on the thing masked. > > Did you find this by some tool or visual inspection via grep? > I wrote a Smatch check inspired by the i40e bug you found earlier. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2014-10-29 at 19:10 +0300, Dan Carpenter wrote: > On Wed, Oct 29, 2014 at 09:08:39AM -0700, Joe Perches wrote: > > On Wed, 2014-10-29 at 18:48 +0300, Dan Carpenter wrote: > > > The right shift operation has higher precedence than the mask so we > > > left shift by "(i * 3)" and then immediately right shift by "(i * 3)" > > > then we mask. It should be left shift, mask, and then right shift. [] > > My grep pattern doesn't like operations on the thing masked. > > Did you find this by some tool or visual inspection via grep? [] > I wrote a Smatch check inspired by the i40e bug you found earlier. Nice. fyi: I sent a bunch of these already. https://lkml.org/lkml/2014/10/27/38 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Oct 29, 2014 at 09:13:24AM -0700, Joe Perches wrote: > On Wed, 2014-10-29 at 19:10 +0300, Dan Carpenter wrote: > > On Wed, Oct 29, 2014 at 09:08:39AM -0700, Joe Perches wrote: > > > On Wed, 2014-10-29 at 18:48 +0300, Dan Carpenter wrote: > > > > The right shift operation has higher precedence than the mask so we > > > > left shift by "(i * 3)" and then immediately right shift by "(i * 3)" > > > > then we mask. It should be left shift, mask, and then right shift. > [] > > > My grep pattern doesn't like operations on the thing masked. > > > Did you find this by some tool or visual inspection via grep? > [] > > I wrote a Smatch check inspired by the i40e bug you found earlier. > > Nice. fyi: I sent a bunch of these already. > > https://lkml.org/lkml/2014/10/27/38 > Ah... Your grep found a bunch of stuff that I missed because it wasn't in my allmodconfig. regards, dan carpenter -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/wireless/ath/ath9k/debug.c b/drivers/net/wireless/ath/ath9k/debug.c index 2a2a17d..c9afc15 100644 --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c @@ -455,7 +455,7 @@ static ssize_t read_file_dma(struct file *file, char __user *user_buf, "%2d %2x %1x %2x %2x\n", i, (*qcuBase & (0x7 << qcuOffset)) >> qcuOffset, (*qcuBase & (0x8 << qcuOffset)) >> (qcuOffset + 3), - val[2] & (0x7 << (i * 3)) >> (i * 3), + (val[2] & (0x7 << (i * 3))) >> (i * 3), (*dcuBase & (0x1f << dcuOffset)) >> dcuOffset); }
The right shift operation has higher precedence than the mask so we left shift by "(i * 3)" and then immediately right shift by "(i * 3)" then we mask. It should be left shift, mask, and then right shift. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html