From ab0a63bda0913fa73aea547814c88e3e77db57b1 Mon Sep 17 00:00:00 2001 From: Arend van Spriel Date: Mon, 9 May 2011 16:33:27 +0200 Subject: [PATCH] --- yaml --- r: 249408 b: refs/heads/master c: b8fbc3928cce0c8fa7c01afc33ddef02062504e1 h: refs/heads/master v: v3 --- [refs] | 2 +- .../brcm80211/brcmsmac/phy/wlc_phy_cmn.c | 19 ++++++++----------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index f51ce23c0d93..9070abc2b039 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dc1e961668d148fa5c2784ac51a9a78cb7274cf3 +refs/heads/master: b8fbc3928cce0c8fa7c01afc33ddef02062504e1 diff --git a/trunk/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_cmn.c b/trunk/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_cmn.c index 7837c73023fc..9c2ab38c1f12 100644 --- a/trunk/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_cmn.c +++ b/trunk/drivers/staging/brcm80211/brcmsmac/phy/wlc_phy_cmn.c @@ -18,10 +18,12 @@ #include #include -#include +#include #include #include #include + +#include #include #include #include @@ -2746,20 +2748,15 @@ s8 lcnphy_gain_index_offset_for_pkt_rssi[] = { void wlc_phy_compute_dB(u32 *cmplx_pwr, s8 *p_cmplx_pwr_dB, u8 core) { - u8 shift_ct, lsb, msb, secondmsb, i; + u8 msb, secondmsb, i; u32 tmp; for (i = 0; i < core; i++) { + secondmsb = 0; tmp = cmplx_pwr[i]; - shift_ct = msb = secondmsb = 0; - while (tmp != 0) { - tmp = tmp >> 1; - shift_ct++; - lsb = (u8) (tmp & 1); - if (lsb == 1) - msb = shift_ct; - } - secondmsb = (u8) ((cmplx_pwr[i] >> (msb - 1)) & 1); + msb = fls(tmp); + if (msb) + secondmsb = (u8) ((tmp >> (--msb - 1)) & 1); p_cmplx_pwr_dB[i] = (s8) (3 * msb + 2 * secondmsb); } }