prima: WLAN Driver Release 3.1.7.9

Initial code drop for wlan driver.

git clone gitosis@git.codeaurora.org:/external/wlan/reponame.git
SHA: 295189bdc1f9d9ce4f01e1c67662aaad2d64348a

Signed-off-by: Iliyan Malchev <malchev@google.com>
prima: WLAN Driver Release 3.1.7.11

git clone git://codeaurora.org/external/wlan/prima.git
SHA: 04dd8a8d8eb61b4e09387f952c241560a361935f

Incorporate Driver Releases 3.1.7.10 and 3.1.7.11

Release 3.1.7.10

Integrate the following CLs from Perforce:

633566: Do not drop beacons or probe response ever when in scan mode
If beacons or probe response is dropped for an AP, it can take upto 10
seconds to connect to an AP as the AP will not be discovered until
next scan cycle.  There was logic to throttle/drop incomming frames
even during scan and not overhwhelm PE and VOSS Message wrappers which
was done in Gen6 days. With the new MSMs, faster processing power and
and removal of SDIO, host should be able to handle and process all
frames fast enough.  Therefore do not ever drop beacons or probe
response frames when we are in scan mode.  (CR 368500)

633567: Fix BMPS issues which prevent disconnect after missed beacon
1. In missed beacon scenario, BMPS request from PMC must not be
allowed by PE. This is because DUT has exited BMPS to probe the AP and
if probe has not completed, BMPS must not be allowed.
2. When ENTER BMPS is rejected or ENTER BMPS fails, make sure
heartbeat timer is always running. This is just a fail safe check to
ensure we do not ever land in a situation where DUT is out of BMPS and
also out of AP's range but heartbeat timer is deactivated for some
reason. If that happens, link will never be torn down and device will
always keep trying to enter BMPS unsuccessfully.
3. Introduce a new eSIR_SME_BMPS_REQ_REJECT which implies that request
is rejected by PE.  eSIR_SME_BMPS_REQ_FAILED now implies that request
was denied by Riva. This will help us in debugging.  (CR 367659)

633809: Change value of MAX_SCAN_SSID
While doing cfg80211 interface registeration with kernel, we are
filling wiphy->max_scan_ssids parameter with MAX_SCAN_SSID value
(MAX_SCAN_SSID =2). So During combo scan wpa_supplicant is not able to
send more then 2 profile to host driver. As host driver supporting 9
max ssid. MAX_SCAN_SSID has value set to 9 while registering the
cfg80211 interface.  (CR 365219)

634012, 634018, 634021, 634163: Legacy Fast Roaming Feature (CR 362782)

634148: Fix SSR race condition in cfg80211 APIs and BTAMP
cfg80211 APIs are blocked when SSR is going on; there could be various
race conditions in WLAN driver if these APIs are not blocked during
SSR. Some of them are already SSR protected, adding protection to the
missing ones. Also fixing a BTAMP race condition during SSR in softap
mode.  (CR 370064)

634185: Fuzzing Fix - Vos Packet is Freed Twice
Fix issue seen in fuzzing test case #48518 for malformed data packet -
There is a bug where if WLANTL_GetEtherType fails, the vos packet is
returned twice.  (CR 369987)

634238: Fix for Timer Leak
While unloading host driver it is showing timer leak. In rrmClose
function, it is not destroying neighborRspWaitTimer. Same way it is
not destroying txSleepTimer in hddDevTmUnregisterNotifyCallback
function. this change is going to fix both timer leak issue.  (CR
369951)

634272: Fix of kernel Panic in P2P mode after including DXE TX ring empty fi
DXE TX ring is taking more than 3 seconds in some secarios to get
cleared and becasue of this after getting DEL BSS response sessionId
is getting changed and as a side effect of this dev is comign as Null
and any access to it is leading to Kernel Panic.  (CR 370441)

634397: SME Close Session wait timeout should be more than WDI timeout
SME Close Session is timing out before getting the call back from
WDI. Increased the WLAN_WAIT_TIME_SESSIONOPENCLOSE to 15 seconds which
is more than WDI timeout (10 seconds).  (CR 368821)

634422: Port config80211 softap interfaces to Kernel 3.4
The softap config80211 interfaces are changed in Kernel 3.4, some of
the interfaces are renamed; and also a new data structures is
introduced for softap interface. So the existing WLAN driver APIs are
modified to accomadate these changes.  (CR 371516)

634858: Fix typo in sirWrapper.h Copyright
Fix typo that was uncovered during Open Source legal scan

Release 3.1.7.11

Integrate the following CLs from Perforce:

634522: Make changeCountryCode ioctl completly synchronous
Implemented completion routine and callback function to make
changeCountryCode Ioctl completely Synchronous (CR 365094)

634543: Fix typo in WCNSS version log message

634791: Do not allow the second interface for the same type.
Currently two concurrent sessions of same type are not supported. The
new additional session is causing problems to existing session. Seeing
errors like sme_OpenSession() failure, disconnecting and reconnect the
existing session, but data transfer failure etc., As two P2P sessions
are currently not supported, restrict this, at HDD level. This can be
removed once concurrent P2P CLI sessions have to be supported.

634824: Set ERP protection bit when SoftAP overlaps with 11b AP.
SoftAP is not setting ERP protection bit when 11b AP operates in same
channel as that of SoftAP. Added this 11b OBSS overlap support. After
turning off 11b AP, ERP protection bit is cleared but not "OBSS non-HT
STA" persent bit. HT protection also remained "01". We need to disable
this HT protection also while disabling ERP protection.  (CR 368189)

634825: Fix for Memory Leak
While sending scan response from LIM to SME, it allocate memory of
8000 byte length for pSirSmeScanRsp. In case where scan results are
empty (bssCount=0) LIM send eWNI_SME_SCAN_RSP message with
statusCode. After posting message it is not freeing memroy which is
allocated previously which result into memory leak for 8000 byte when
we unload driver. Now After posting message we will check if
pSirSmeScanRsp is not NULL then free allocate memory.  (CR 371901)

634850: Fix for setband and country commands which occasionally enable dualb
Added a fix to check the INI settings for band (CR 368987)

634876: Max tx power value from ini is not reflected during initial assoc
check is added to pick up the lowest of regmax, ap and ini value  (CR 367780

635070: Fix issue with iwconfig for p2p session when concurrency is enabled

635072: Fix for leting device go to IMPS when p2p_client is disconnected
In case where p2p_client is the last session to be
deleted/disconnected, what happens is that csrScanTriggerIdleScan()
fails at vos_concurrent_sessions_running(). We add further check to
see if any session is in connect state. In case there are no sessions
in connect state, it is okie to go into IMPS.

635216: Fix SoftP and P2P porting issues on Kernel 3.4
When registering with config80211 interface, Kernel 3.4 expects to
announce the capability for "remain on channel" interface. So add this
flag when WLAN driver register with cfg80211. For SoftAP when cfg80211
new station interface is invoked, Kernel 3.4 expects an additional
flag in station info, to indicate that it has filled association
request IES.
prima: HACK: compilation fixes for gcc 4.6

These changes are reguired to compile sucessfully with gcc 4.6
It's temporary solutions and better to remove the warning from codes.

Change-Id: I7fb7456134bc44bf5ce49edf5f00dae10ae5e778