wlan:  LFR+BTC does not work due to premature POSTASSOC

POST_ASSOC link state is set correctly.
CxM module uses POSTASSOC to perform flow control
(by sending null data).However, POST_ASSOC link
state is sent ahead of time to configure the Rx
filters so that data packets following
assoc/reassoc response are not discarded. So,
when POSTASSOC is handled by the HAL, there is no
guarantee yet that assoc/reassoc exchange has
completed. Due to the flow control, it is
possible to transmit a null data frame prior to
(re-)association, thereby inviting a deauth with
reason code 7 (Class 3 frame from non-associated
station) from the AP.Following changes have been
made to address this problem:
1) Resurrect forwarding of link state request
with PREASSOC state to HAL.This is done by not
ignoring link state request with PREASSOC in
WDA_IsHandleSetLinkStateReq.
2) Upon receiving link request to configure
with PREASSOC state,HAL configures Rx filters
to be the same as POSTASSOC. This requires a
Riva change (CL) which configures
rxpDisableFrameStaPreAssocModeHi
nd rxpDisableFrameStaPreAssocModeLow to be the
same as rxpDisableFrameStaPostAssocModeHi and
rxpDisableFrameStaPostAssocModeLow.
3) Send link state request with POSTASSOC after
the successful reception of assoc/reassoc
response with status code 0. This will address
the LFR+BTC issue so that flow control is done
only AFTER successful

CRs-Fixed: 412789
Change-Id: If728bfdeae742cd8a1fd7328f1950031cb0d3cb1
4 files changed
tree: 72cc5ad46dbc291fcbf7f3853a48c8e3d0339626
  1. CORE/
  2. firmware_bin/
  3. riva/
  4. Android.mk
  5. Kbuild
  6. Kconfig