wlan: Update csrRoamInitGlobals() to support static linking

For Nexus 4 the WLAN driver is statically linked.  On this platform it
was observed that occasionally if a P2P session was established, that
subsequently the HotSpot mode could not be enabled (reference Google bug
7499425: Cannot enable WiFi-Tethering, if WiFi-Direct was connected).
Analysis of the logs showed that CSR did not allow the HotSpot session
to be created because it thought another beaconing session, namely a P2P
GO session, was already active.  It turns out that CSR utilizes a static
global structure csrRoamRoamSession to maintain per-session information.
On Product Lines where the WLAN driver is dynamically loaded this static
structure is reinitialized by the OS when the driver changes modes of
operation, since the driver will be reloaded when the mode changes.  But
when the driver is statically linked this static structure is not
reinitialized.  Hence when the driver changes from STA + P2P mode to
HotSpot mode, CSR believe P2P mode is still enabled.  Therefore modify
csrRoamInitGlobals() to always initialize csrRoamRoamSession before
using it.  In addition delete two other static structures,
csrRoamPowerTableFromEeprom and csrRoamPowerTableFromEeprom40MHz, which
are no longer being used.

Change-Id: I0390ca44b39ab30e667263550b3b5f36e923d61d
CR-Fixed: NA
2 files changed
tree: f86066cb55438561ef2dc1a49c5309c05211efae
  1. CORE/
  2. firmware_bin/
  3. riva/
  4. Kconfig
  5. Makefile