Commit Graph

903 Commits

Author SHA1 Message Date
Manishekar Chandrasekaran
cb0521722b qcacld-3.0: Modify set hw mode sequence on channel switch scenarios
Modify the set hardware mode command sequence during channel switch
in the case of SAP/P2P-GO and STA/P2P-CLI as per the latest FW
requirements. This is primarily to accommodate the time take for
calibration during hardware mode change which could lead to
momentary data stalls.

The new sequence is as follows:
    1. Send (E)CSA
    2. Do vdev restart/vdev up
    3. For DBS downgrade:
       a. PM will initiate HW mode change to DBS right away
    4. For single MAC upgrade:
       a. Opportunistic timer is started, PM will check if MCC
          upgrade can be done on timer expiry

The old sequence is as follows:
    For MCC upgrade:
        1. Send (E)CSA
        2. Opportunistic timer is started
        3. vdev restart is initiated on the new channel
        4. PM will check if MCC upgrade can be done on timer expiry
    For single mac upgrade:
        1. Send (E)CSA
        2. PM will initiate HW mode change to DBS right away
        3. vdev restart is initiated on the new channel

Change-Id: I4bce2ee176cae43b6a46c47216ed7ab47a82a54c
CRs-Fixed: 1006992
2016-05-04 21:17:33 -07:00
Manishekar Chandrasekaran
7edffe037b qcacld-3.0: Fix channel number sent in probe response during P2P scans
Fix the channel number sent to fw in probe response during P2P scans.
Current channel number being sent to FW is 0. For the probe response
frame from Host, as there is no channel frequency added, it ends going
on default MAC 0. As in this configuration, FW will do DBS scan for
P2P find, 2G is mapped to MAC1. Hence P2P probe response ends up going
on wrong channel (STA’s 5G channel). Fix this by using the user space
supplied channel in probe response for non beaconing modes and by
using the corresponding session's frequency in probe response for the
beaconing modes.

Change-Id: I3928f8eb2c663b12e40239809e0728d07839317a
CRs-Fixed: 1009549
2016-05-04 21:17:27 -07:00
Manishekar Chandrasekaran
97e077d091 qcacld-3.0: Add ioctl to change concurrency system preference
Add support to change the concurrency system preference at
run time. The concurrency system preferences of throughput,
latency and power can be changed at run time using the IOCTL
"setConcSysPref". The policy manager provides the preferred
channel list based on this preference value.

Usage:
iwpriv <interface> setConcSysPref <preference>
Preference - 0 for throughput, 1 for powersave, 2 for latency
e.g., iwpriv wlan0 setConcSysPref 1

Change-Id: Ib2b8653688400a0bbad9c9c1b1d630025ae4edcb
CRs-Fixed: 993122
2016-05-04 21:17:23 -07:00
Manishekar Chandrasekaran
3904436d36 qcacld-3.0: Correct the p2p scan parameters when SAP is beaconing
Correct the p2p scan's active dwell time, passive dwell time and
burst duration when a SAP session is already active. Since the
max duration of CTS-to-self is 32ms, the dwell time for p2p scans
are calculated in such a way that it does not cross 32ms if SAP
is running. This is in line with the existing STA scan parameters
when SAP is active.

Change-Id: I8089e01025ba07cc18684c277c36bb1694264214
CRs-Fixed: 998555
2016-05-04 21:17:11 -07:00
Manishekar Chandrasekaran
05fd26715d qcacld-3.0: Replace soc level references of hw mode transition event
Replace the obsolete WMI event WMI_SOC_HW_MODE_TRANSITION_EVENTID
with WMI_PDEV_HW_MODE_TRANSITION_EVENTID. The new event additionally
carries the pdev id.

Change-Id: Ic5d04ce63fbc582dbecb9052f490189c83094bb5
CRs-Fixed: 989502
2016-05-04 21:17:07 -07:00
Manishekar Chandrasekaran
5d46f70d35 qcacld-3.0: Replace soc level references of set mac config
Replace the WMI command WMI_SOC_SET_DUAL_MAC_CONFIG_CMDID
and event WMI_SOC_SET_DUAL_MAC_CONFIG_RESP_EVENTID with
WMI_PDEV_SET_MAC_CONFIG_CMDID and
WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID respectively since
the former are obsolete. The new WMI commands and events
additionally carry the pdev id.

Change-Id: I77eab3ead005bbb7f951ce7e077cd661813cb628
CRs-Fixed: 989502
2016-05-04 21:17:03 -07:00
Manishekar Chandrasekaran
d96403461f qcacld-3.0: Replace soc level references of set hw request and response
Replace the obsolete WMI command WMI_SOC_SET_HW_MODE_CMDID with
WMI_PDEV_SET_HW_MODE_CMDID and event WMI_SOC_SET_HW_MODE_RESP_EVENTID
with WMI_PDEV_SET_HW_MODE_RESP_EVENTID respectively. These new WMI
commands and events additionally carry the pdev id and all mac id
references are replaced with pdev id.

Change-Id: If2a3f93dcd1947eedce8d4eac8ed936166f7e078
CRs-Fixed: 989502
2016-05-04 21:14:01 -07:00
Manishekar Chandrasekaran
91152df26b qcacld-3.0: Save the requested scan and fw mode config
Save the requested scan and fw mode config when these
new configs are sent to the firmware for update. This
saved parameter updates the current scan and fw mode
config respectively on getting the response from the
firmware. If this parameter is not saved and updated
in the current scan and fw mode configs, the next
attempt to fetch the current scan and fw mode config
provides the wrong config values.

Change-Id: Iae10d16b29038a8e321ef74ba591b032eedbe425
CRs-Fixed: 1007653
2016-05-02 23:28:09 -07:00
Govind Singh
86bfeb15e6 qcacld-3.0: Remove FL macro definition from UMAC layer
FL macro definition is used in converged layer, move
FL macro definition from umac layer to common qdf layer.

Change-Id: Id3c4383c385eb3d6391c4c066b0034fb2f053cdc
CRs-Fixed: 1008835
2016-05-02 23:28:07 -07:00
Govind Singh
efc5ccd7ca qcacld-3.0: Replace mac_id with pdev_id in WMI PDEV commands
Replace mac_id with pdev_id for WMI pdev commands and
vdev start response handler to support multi-radio in
converged firmware. In order to maintain backward
compatibility with old fw, host needs to check
WMI_SERVICE_DEPRECATED_REPLACE service id in service
bitmap and needs to fill pdev id or mac id accordingly.

Change-Id: I7e6b40b4c0bd20e967dc0a383b480068e256486f
CRs-Fixed: 994415
2016-05-02 23:28:03 -07:00
Jeff Johnson
89c66ff56c qcacld-3.0: Avoid unexpected TSF GPIO failure
qcacld-2.0 to qcacld-3.0 propagation

A customer observed the following error log:
wlan: [1662:E :HDD] hdd_wlan_startup: 12873: set tsf GPIO fail

The customer was concerned that the device was not working correctly.
The reality is that the TSF GPIO is only expected to be set on
specific hardware platforms, and the customer platform was not one of
those platforms.

Fix this issue by making sure that all of the TSF GPIO logic is
properly encapsulated within the WLAN_FEATURE_TSF feature flag.

Change-Id: I34eab623243d4674c5fc1d0c8139d80efe5786a7
CRs-Fixed: 962955
2016-05-02 23:27:59 -07:00
Manikandan Mohan
296d4b5d32 qcacld-3.0: Configure only valid TSF gpio pin
qcacld-2.0 to qcacld-3.0 propagation

Update qcacld to configure only valid GPIO setting if enabled in
INI file. Default TSF Gpio value is set as invalid, so it will not
be set in firmware during driver load.

Change-Id: I0414becbf83718155a9ca51d60f34d0e8ffcd4e3
CRs-fixed: 994569
2016-05-02 23:27:56 -07:00
Manikandan Mohan
976e756f56 qcacld-3.0: Configure tsf gpio pin
qcacld-2.0 to qcacld-3.0 propagation

Add configuration of gpio pin used for TSF. FW shall toggle
this gpio when receive capture/get tsf cmd.

Change-Id: I442f2de3af4f3946a20bf3f4a9d8c9b285aa7a7c
CRs-Fixed: 817527
2016-05-02 23:27:52 -07:00
Manikandan Mohan
dcc21ba7f6 qcacld-3.0: get tsf from fw
qcacld-2.0 to qcacld-3.0 propagation

Get tsf from fw. Provide ioctl interface cap_tsf/get_tsf.
Driver issue wmi cmd to fw to realize capture/get.
It can be used in station and softap mode. For sta, getting
tsf from connected ap. For softap, it will generate tsf by-
self

Change-Id: I00d30882bce2f49ee3de3fa189e094c04c0d9943
CRs-Fixed: 817527
2016-05-02 23:27:49 -07:00
Yuanyuan Liu
d9f7a36529 qcacld-3.0: Add PLD layer
PLD stands for platform driver. It is a interface between CLD and
CNSS/ICNSS. It hides the CNSS/ICNSS APIs from CLD and provides a set
of common APIs.
Other modules should include pld_common.h if they want to call PLD
APIs.

CRs-Fixed: 979275
Change-Id: I3571fc70f502dc367c65f13b412cd5d37ee41d3c
2016-05-02 23:27:47 -07:00
Vishwajith Upendra
69e89e4f2d Release 5.1.0.5
Release 5.1.0.5

Change-Id: I833d619e0a311dea936d2798f2785eae383548cd
CRs-Fixed: 688141
2016-04-29 14:31:53 -07:00
Rajeev Kumar
9be537edc0 qcacld-3.0: Fix resume regression caused by QDF convergence
WMA bus resume returns un-initialized local variable as status
to hdd bus resume callback which does bug on if status is not 0.
Fix WMA bus resume routine to return proper qdf status
and conver it into linux status before returnign it to HDD.

Change-Id: I8f36c11552412b569ac33afa320fd39fa3fedc50
CRs-Fixed: 1008027
2016-04-27 17:00:29 -07:00
Peng Xu
07e6e08f3a qcacld-3.0: Correct EPPING mode macros
Correct EPPING mode related macro definitions.

Change-Id: If8ca48145e4e1043e3e5bd8d7df967d6140f610e
CRs-fixed: 995819
2016-04-27 17:00:27 -07:00
Mohit Khanna
137b97dd46 qcacld-3.0: Fix for IBSS lock-up issue
During IBSS session tear down, we are hitting a lockup. The issue is
seen as the pdev->peer_ref_mutex is being taken up twice in
ol_txrx_remove_peers_for_vdev and ol_txrx_peer_unref_delete. The later
function gets invoked by the former and hence we are stuck while trying
to acquire the spinlock, the second time.

Fix issue by releasing peer_ref_mutex lock before invoking
callback (wma_remove_peer) in ol_txrx_remove_peers_for_vdev function.

The dmesg signature of the lock-up is as follows

1100.230392:   <2> [<ffffffc0002035a4>] el1_irq+0x64/0xd4
1100.235432:   <2> [<ffffffbffc17e890>]
ol_txrx_peer_unref_delete+0xc4/0x33c [wlan]
1100.242461:   <2> [<ffffffbffc17ecc8>] ol_txrx_peer_detach+0x1c0/0x1e0
[wlan]
1100.249020:   <2> [<ffffffbffc160914>] wma_remove_peer+0x7c/0x18c
[wlan]
1100.255141:   <2> [<ffffffbffc17dee4>]
ol_txrx_remove_peers_for_vdev+0x170/0x1b0 [wlan]
1100.262606:   <2> [<ffffffbffc16311c>]
wma_vdev_stop_resp_handler+0x204/0x460 [wlan]
1100.269816:   <2> [<ffffffbffc1886a8>] __wmi_control_rx+0x280/0x2c0
[wlan]
1100.276204:   <2> [<ffffffbffc188a34>] wmi_process_fw_event+0x8/0x14
[wlan]
1100.282595:   <2> [<ffffffbffc157054>] wma_mc_process_msg+0x80c/0x27fc
[wlan]
1100.289176:   <2> [<ffffffbffc13f238>] $x+0x190/0x3f4 [wlan]
1100.294115:   <2> [<ffffffc00023d7e8>] kthread+0xac/0xb8

CRs-Fixed: 1006847
Change-Id: Icedeb172bbd6736ab39343391ff0643ddd688444
2016-04-27 17:00:25 -07:00
Krunal Soni
ab793347f6 qcacld-3.0: Fix incorrect mac addr size while doing mem copy
There are few instance where accidently mac address size got set
to some incorrect value.

Supply correct mac address size macro to resolve the issue.

CRs-Fixed: 1007399
Change-Id: I0bdd7ac0c241d1e22b003576c370b0ce2333a0dd
2016-04-27 17:00:22 -07:00
Krunal Soni
eda6d7ec50 qcacld-3.0: Fix memory allocation for zero channel list
Current driver try allocate memory when number of channel are passed
as zero which will cause memory allocation failure.

As part of the fix, when number of channels comes as zero then driver
shouldn't allocate memory and let the firmware take care of it.

CRs-Fixed: 1007196
Change-Id: I51d8a6decbe4c21265e88624e490446a48ea4857
2016-04-27 17:00:20 -07:00
Archana Ramachandran
b66fc73614 qcacld-3.0: Fix STA including incorrect SMPS value in the HT caps of the reassoc req
qcacld-2.0 to qcacld-3.0 propagation

When creating the reassoc session, HT SMPS value should be copied from
existing session to the reassoc session but the session supported NSS should
be set to default value of true and not copied from exisiting session.
Session supported NSS should be the intersection of NSS supported by STA
and AP that STA will reassoc to.

CRs-Fixed: 991042
Change-Id: Ic1577882aaa9c1923ba1dac2126e0cf11e542e36
2016-04-27 17:00:18 -07:00
Archana Ramachandran
5482d6a4d0 qcacld-3.0: Fix STA sending SMPS force mode when connected to 1x1 AP
qcacld-2.0 to qcacld-3.0 propagation

Peer supported NSS should be updated based on the presence of HT
and VHT capabilities in the beacon/probe response IE from the AP.
Also, update session supported NSS during reassociation. Otherwise,
station will end up sending SMPS action frames to AP which only
supports 1x1 mode.

CRs-Fixed: 979545
Change-Id: Ie2dbfbb577f08c5090101e1330184e72a9f6cd46
2016-04-27 17:00:16 -07:00
Archana Ramachandran
ef777d4dc0 qcacld-3.0: Fix assoc req not including SMPS static in 1x1 antenna mode
qcacld-2.0 to qcacld-3.0 propagation

In platforms that supports LTE coex, When antenna mode is dynamically
switched from 2x2 to 1x1 before station association the SMPS mode is
not set to enabled, static in the HT caps of assoc req management frame.
Although the station will send SMPS action frames with the correct
SMPS mode after association, if the AP did not receive the management
frames then it will continue to transmit in 2x2 rates when station is
in 1x1 mode.

CRs-Fixed: 986388
Change-Id: Ide2eef354ca6a8aa83981a959b029216c2069943
2016-04-27 17:00:13 -07:00
Varun Reddy Yeturu
28d0312dfa qcacld-3.0: LFR3: Fix ESE Regression
Remove WLAN_FEATURE_NEIGHBOR_ROAMING which is not defined
in the build file.
Also fix the regression that has been introduced by the
change I857f9c16eb73a4b0f72e0a622be47ab756fb70f4.

CRs-Fixed: 1003135
Change-Id: I741fd3cf69a05c346e1bc11498f93e928e5c1244
2016-04-27 17:00:11 -07:00
Vishwajith Upendra
805e7dfeee Release 5.1.0.4
Release including SU173 changes on
unconverged CLD3.0 with additional changes.

Change-Id: Id36746e7b3f1eed3c3d07b66f9bad37a94e48738
CRs-Fixed: 688141
2016-04-25 22:56:23 -07:00
Nirav Shah
24e697ff3e qcacld-3.0: Update htc_endpoint only for htt tx endpoint
Update htc_endpoint only for htt tx endpoint to avoid
double freeing of Tx Queue packets as it will be
freed in htt_htc_misc_pkt_pool_free.
Rename htc_endpoint to htc_htt_tx_endpoint to reflect
it's appropriate use.

Change-Id: I736ba08505acc829eb15be30538553dd945695f6
CRs-Fixed: 1006498
2016-04-25 22:56:20 -07:00
Manjunathappa Prakash
8b39d2eece qcacld-3.0: Use CDS PKT_TRACE macro CDS_PKT_TRAC_TYPE_MGMT_ACTION
Fix build error, missing definition of NBUF_PKT_TRAC_TYPE_MGMT_ACTION.
Use CDS macro.

Change-Id: I65a169397236177c92b1980397794f6364ad24cb
CRs-Fixed: 1005069
2016-04-25 22:56:14 -07:00
Houston Hoffman
52ec669089 qcacld-3.0: Fix compilation errors for msmcobalt (2/2)
Fix compilation errors when building for msmcobalt.

Change-Id: I2e1d968e967f493fb927440777d1d01f7e3f66b0
CRs-Fixed: 1006068
2016-04-25 22:56:07 -07:00
Manjunathappa Prakash
9dd19130fe qcacld-3.0: Fix NAPI creation with 0 instances
If NAPI does not find any instances to create, then it would
return a bitmap of 0. Make this a condition that is reportable
as a warning, but do not break initialization sequence with an
error.

Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>

Change-Id: I38a7a845c5b9ed3ab5ce691917e981ee2c8f7b1c
CRs-Fixed: 999422
2016-04-25 22:55:51 -07:00
Manjunathappa Prakash
34e9616ebb qcacld-3.0: Make NAPI stubs neutral
When the feature is not defined, make sure that NAPI API calls
return success (0) so that the callers don't need to add any code
to check return values.

Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>

Change-Id: Ibfb8d407cb902ecc2b61dd971262904aa25aa9ba
CRs-Fixed: 999422
2016-04-25 22:55:47 -07:00
Chandrasekaran, Manishekar
b2d9fa14f4 qcacld-3.0: Enable packet tracker for non performance builds
Enable the packet tracker feature for non performance builds
by enabling the macro QCA_PKT_PROTO_TRACE and set the
default packet tracker log level to dump the DHCP, EAPOL
and management packet details. The necessary log level can
be modified using the ini 'gEnableDebugLog' entry either at
compile time or at run time using the IOCTL 'setDbgLvl'.
The logs are dumped using the same IOCTL 'setDbgLvl'.

e.g.,
To enable all the packet trace features
- iwpriv wlan0 setDbgLvl 0x0f
To dump the packet trace
- iwpriv wlan0 setDbgLvl 9999

Change-Id: I4fe82e0091517f0614baedf620976dd37b94a974
CRs-Fixed: 998642
2016-04-25 22:55:29 -07:00
Manishekar Chandrasekaran
7009f25399 qcacld-3.0: Replace WMI_SOC_SET_PCL_CMDID with WMI_PDEV_SET_PCL_CMDID
Replace the obsolete WMI command WMI_SOC_SET_PCL_CMDID with
WMI_PDEV_SET_PCL_CMDID. WMI_PDEV_SET_PCL_CMDID carries the weightage
for all the channels (preferred and non-preferred) in the same order
and length as that of the command WMI_SCAN_CHAN_LIST_CMDID. This is
in contrast to the command WMI_SOC_SET_PCL_CMDID which carries only
the preferred channel list.

Change-Id: I040f4307491d3242d2e9409dbbe8005c4b307bf5
CRs-Fixed: 989502
2016-04-25 22:55:25 -07:00
Nirav Shah
7a0a90597b qcacld-3.0: Free all TX descriptors in error scenario
Forcefully free all TX descriptors during driver unload
which is not freed because of unmap event missing from
firmware to avoid memory leak.

Change-Id: I47ff7e6a8f2aa130c77ac68a92eee9373d152e87
CRs-Fixed: 1001994
2016-04-25 22:54:11 -07:00
Nirav Shah
194ce08855 qcacld-3.0: Add HTT packet in misc_list to avoid memleak
Add HTT packet buffer in misc_list for
HTT_H2T_MSG_TYPE_FRAG_DESC_BANK_CFG command to avoid memleak.

Change-Id: I1c3fb6232c4b7dab6c10459d53e611d3358b69cc
CRs-Fixed: 1001996
2016-04-25 22:52:55 -07:00
Mohit Khanna
0696eef313 qcacld-3.0: Fix RX data, peer unmap race condition
During peer unmap handler, while the peer is being deleted, there is a
possible race condition if the OL Rx thread is processing RX packets
and accesses the peer structure after its contents have been nulled.

Remove race condition by -
* Flush all RX packets in ol_txrx_peer_detach function which happens
  before peer unmap event is received from firmware
* Avoid use of peer data structures (for example peer->local_id)
  outside of peer->info_lock in ol_rx_data_cb function. Use cached
  local copies of peer data structures instead

Crash signature due to the race condition:

wlan: [0:E :CDF] TXRX: Deleting peer ffffffc012fd13c0
(02:a0:c6:81:f8:c0)
Unable to handle kernel paging request at virtual address 400000001
pgd = ffffffc0018b4000
[400000001] *pgd=0000000000000000, *pud=0000000000000000
Internal error: Oops: 96000005 [#1] PREEMPT SMP
Modules linked in: wlan(O) [last unloaded: wlan]
CPU: 1 PID: 29506 Comm: cds_ol_rx_threa Tainted: G        W  O
3.18.20-g5222edf-13780-g2219ed2 #1
Hardware name: Qualcomm Technologies, Inc. MSM 8996 v3 + PMI8996 CD (DT)
task: ffffffc09350d400 ti: ffffffc0556a4000 task.ti: ffffffc0556a4000
PC is at hdd_rx_packet_cbk+0x84/0x224 [wlan]
LR is at hdd_rx_packet_cbk+0x48/0x224 [wlan]
pc : [<ffffffbffdd55b5c>] lr : [<ffffffbffdd55b20>] pstate: 80000145

Change-Id: I4b32313024ec214f33dcdcfc401aadfa8af9d692
CRs-Fixed: 1002081
2016-04-21 20:23:50 -07:00
Yuanyuan Liu
bb116f2d4f qcacld-3.0: Fix compilation error for msmcobalt
Fix compilation error for msmcobalt when enable
CONFIG_WLAN_TX_FLOW_CONTROL_V2 feature.

CRs-Fixed: 1006068
Change-Id: Iab1c632c00a65a2c972c7701d66f3adff3073221
2016-04-21 20:23:44 -07:00
Vishwajith Upendra
3a4b0b1a61 Release 5.1.0.3A
Includes makefile change to Correct
common project header files path

Change-Id: I3cf988ab2dac33bed38c07f961075b830e1e3cd6
CRs-Fixed: 688141
2016-04-21 11:13:42 -07:00
Vishwajith Upendra
0eb0b3d600 Release 5.1.0.3
Corresponds to SU 172 qcacld-3.0 unconverged

Change-Id: I3a99de1f9c1edae1a4f69c1f8c9f62c56d135636
CRs-Fixed: 688141
2016-04-20 22:25:05 -07:00
Houston Hoffman
23e76f99ce qcacld-3.0: enable additional two HTT data services
Enable HTT_DATA2_MSG_SVC and HTT_DATA3_MSG_SVC, using only
rx legs, CE 9 and 10, respectively. Add required CE entries
to the map that gets sent to the FW, and define the latter
service.
Rename htc_endpoint to htc_tx_endpoint in htt_pdev to
represent the role better.

Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>

Change-Id: I81ae796bdb7e632aa24f15c63a2811791dd29d28
CRs-Fixed: 982728
2016-04-20 22:25:01 -07:00
Satsih Singh
1771b5fcd8 Release 5.0.0.172
Release 5.0.0.172

Change-Id: Ifb9cc767a34559867189c4eab411247e934e9181
CRs-Fixed: 688141
2016-04-20 22:24:55 -07:00
Krishna Kumaar Natarajan
7e6a23c9e2 qcacld-3.0: Fix incorrect handling of encrypted auth managment frame
Fix incorrect handling of encrypted auth managment frame in case of
WEP shared encryption mode.

Authentication frame length is populated based on the auth transaction
sequence number. However this will not hold good for encrypted frame
from which we will not be able to decode the transaction sequence number.
Make use of the flag passed to lim_send_auth_mgmt_frame to decide if
the frame is encrypted or not and take necessary action.

Change-Id: I61df6a3e871965cd35128fe11925855d37bf81b9
CRs-Fixed: 999599
2016-04-20 22:24:45 -07:00
Rajeev Kumar
daf1c61b87 qcacld-3.0: Increase target ready timeouts
WMA target ready timeout is not large enough for FW response.
Increase WMA target ready timeout value to FW recommended value
of 6 seconds.

Change-Id: I8b05dc79ead4cdae8d1ff44d76b405d6f4df164a
CRs-Fixed: 999277
2016-04-20 22:24:38 -07:00
Rajeev Kumar
94c9b45b3d qcacld-3.0: Pass IBSS peer mac address received from target
Propagation from qcacld-2.0 to qcacld-3.0

Pass mac address received from target in IBSS peer info event to
user space. In addition remove pronto specific rate conversion
logic as ROME FW returns data rate in Mbps directly

Change-Id: Id89e9f357831f242c43fc8ce121de18a3180e422
CRs-Fixed: 777960
2016-04-20 22:24:32 -07:00
Varun Reddy Yeturu
f907f91deb qcacld-3.0: Reduce packet loss while roaming
As soon as the firmware is done with the roaming scan and about to
start hand-off, it will notify the host that the roaming is about
to start using WMI_ROAM_NOTIF_ROAM_START. The host driver will
then notify the upper layers to stop sending the packets and
the host later informs them as part of roam synch propagation
after roaming is done to start sending the packets.

Once the firmware sends the notification and if it fails to roam
for some reason, then it will send another notification
WMI_ROAM_NOTIF_ROAM_ABORT to let the host know the upper layers
to resume sending the packets again.

Introduce an operation code for the CSR roaming callback to determine
what it needs to do when called by the lower layers.

CRs-Fixed: 996949
Change-Id: I674262b95f1781747b34fb675ad179952a8ae4d1
2016-04-20 22:24:17 -07:00
Varun Reddy Yeturu
0c1a00baca qcacld-3.0: Enhancement to RRM measurement
qcacld-2.0 to qcacld-3.0 propagation

Before sending the 11k measurement report, check if there is a
valid scan result or if the measurement is done to send out a
report or cleanup the RRM state machine.

CRs-Fixed: 982133
Change-Id: I3f98450f3d139dd7a7c1548dc80070cf780ada88
2016-04-20 22:24:10 -07:00
Varun Reddy Yeturu
37c20b5419 qcacld-3.0: Always send the Beacon measurement report
qcacld-2.0 to qcacld-3.0 propagation

1) Whenever the beacon request measurement is done, always
send a beacon report despite finding any AP's or not on the
requested channels

2) Send the report always so that it implicitly also cleans up
the RRM context in the LIM and enables to process the
subsequent requests. Otherwise, the cleanup is not done and
RRM processing will be stuck

CRs-Fixed: 982133
Change-Id: I3ce023fbd4aa9d18f8d025a220a5c1d979a555f5
2016-04-20 22:24:04 -07:00
Varun Reddy Yeturu
215ef9484b qcacld-3.0: Enable LFR3 by default
Enable LFR3(Firmware based roaming) feature by default
in the runtime configuration files.

Change-Id: Id9e4b496596c7c7fa3d1f62376cbc1f3edafc18c
CRs-Fixed: 991784
2016-04-20 22:24:00 -07:00
Chandrasekaran, Manishekar
4dd215edaf qcacld-3.0: Fix missing connection info update after hw mode change
Ensure that the vdev to mac mapping, tx and rx spatial stream
parameters are updated in the connection info table as part of set
hardware mode change response for all the possible scenarios.
Currently these parameters are not getting updated during hidden
ssid and channel switch connection update. Due to this the
connection info table is not reflecting the correct spatial streams
for the above mentioned scenarios, after hw mode change.

Change-Id: I42bbb40a6c99b68aa2038d3e5357580e616c76c9
CRs-Fixed: 996090
2016-04-20 22:23:54 -07:00
Krunal Soni
e01c344dbe qcacld-3.0: Fix concurrency action for emulation for 2G channel switch
Provide correct cds concurrency action when M2M limitation enabled and
channel switch is happening from 5G to 2G band.

Change-Id: I2e7c82831afa6a19d7716980e95951cbfc60457d
CRs-Fixed: 997785
2016-04-20 22:23:47 -07:00