(bug report) b43: precendence error

Dan Carpenter dan.carpenter at oracle.com
Thu Nov 26 03:58:43 PST 2015


[ All the old wireless Smatch warnings are showing up as new ones
  because of the path reshuffle in linux-next.  I'm going through and
  reporting the extra suspicious ones.  -dan ]

Hello Rafał Miłecki,

The patch 6f98e62a9f1b: "b43: update cordic code to match current
specs" from Jan 25, 2010, leads to the following static checker
warning:

	drivers/net/wireless/broadcom/b43/phy_lp.c:1803 lpphy_start_tx_tone()
	warn: mask and shift to zero

drivers/net/wireless/broadcom/b43/phy_lp.c
  1800          for (i = 0; i < samples; i++) {
  1801                  sample = b43_cordic(angle);
  1802                  angle += rotation;
  1803                  buf[i] = CORDIC_CONVERT((sample.i * max) & 0xFF) << 8;
  1804                  buf[i] |= CORDIC_CONVERT((sample.q * max) & 0xFF);

Maybe the intention was:

			buf[i] = (CORDIC_CONVERT(sample.i * max) & 0xFF) << 8;
			buf[i] |= CORDIC_CONVERT((sample.q * max) & 0xFF;

  1805          }
  1806  

regards,
dan carpenter



More information about the b43-dev mailing list