iwlwifi: mvm: fix first_antenna
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sun, 14 Apr 2013 11:41:03 +0000 (14:41 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 16 Apr 2013 13:32:22 +0000 (15:32 +0200)
commitd7dad550e6ddb96db9d3e4d322f7d1dd8a6a9c8d
tree5bcc224ec8f5ef5dc012da0c803b2ddc061a3e31
parent178bdb5791f18e33b5a368acee6fab5bb64396fe
iwlwifi: mvm: fix first_antenna

first_antenna is supposed to return the first antenna as a
0-based bitmap: ANT_A is BIT(0), ANT_B is BIT(1), etc...
Since ffs is 1 based (ffs(BIT(0)) = 1), then we had an
off-by-one bug:
BIT(ffs(ANT_A)) = BIT(ffs(BIT(0))) = BIT(1) = ANT_B.
So what we really want is:
BIT(ffs(ANT_A) - 1) = BIT(ffs(BIT(0)) - 1) = BIT(0) = ANT_A.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/iwlwifi/mvm/utils.c