Commit Graph

2418 Commits

Author SHA1 Message Date
qcabuildsw
0a83fb550f Release 5.1.0.30D
Release 5.1.0.30D

Change-Id: I480aa1260718be59210d13be56d5d28a9df18a2c
CRs-Fixed: 688141
2016-10-10 05:12:13 -07:00
Arif Hussain
4afc226c49 qcacld-3.0: Fix uninitialized variable use in cds_set_5g_channel_params
Initialize pointers bonded_chan_ptr and bonded_chan_ptr2 in function
with NULL and add check to avoid NULL/wild pointer dereference.

Change-Id: I48e4417998d75a7a42d6e55106896709016ac61c
CRs-Fixed: 1075098
2016-10-10 05:12:12 -07:00
qcabuildsw
61bb0bcd99 Release 5.1.0.30C
Release 5.1.0.30C

Change-Id: I403a76b07b94278931713de0018e437f2dd920d8
CRs-Fixed: 688141
2016-10-10 04:33:23 -07:00
Mukul Sharma
f7d62e1ccc qcacld-3.0: Add ini to raise bug on SSR re-init failure
qcacld-2.0 to qcacld-3.0 propagation

Currently, If SSR re-init get failed then host raise VOS_BUG.
In this type of cases, OEM might prefer not to crash the device
instead want wlan recovery using driver unload followed by load.

Change-Id: If433aae949326af6a20df2190dd7356f211c4103
CRs-Fixed: 1017278
2016-10-10 04:33:22 -07:00
qcabuildsw
e1e7cd1c40 Release 5.1.0.30B
Release 5.1.0.30B

Change-Id: I524c0c9896eedb0e9907efb739d4e8392440de2e
CRs-Fixed: 688141
2016-10-10 03:55:03 -07:00
Nitesh Shah
5b7bae07fc qcacld-3.0: Add SBS support in hw_mode_list
The enhancement is to add SBS (Single Band Simultaneous)
support in hw_mode_list.

The WMI HW Mode definitions are redefined to use only
for host purpose.

Change-Id: I8b8c966b0130964c8e7de7967766629c955209d3
CRs-Fixed: 1072234
2016-10-10 03:55:02 -07:00
qcabuildsw
744e152a9a Release 5.1.0.30A
Release 5.1.0.30A

Change-Id: Ib38370edae55460eeedd78ec3cbbc6c69c687061
CRs-Fixed: 688141
2016-10-10 02:37:43 -07:00
Poddar, Siddarth
538581282b qcacld-3.0: Remove the processing for depreciated pktlog msg
Remove the processing of following msg types PKTLOG_TYPE_TX_MSDU_ID,
PKTLOG_TYPE_TX_FRM_HDR and PKTLOG_TYPE_TX_VIR_ADDR for ihelium as
support for these events is removed from FW.

Change-Id: Ic526507d8adf87e580bd5c23ad2e68e2154c38a8
CRs-Fixed: 1074043
2016-10-10 02:37:42 -07:00
qcabuildsw
e8ddb702e8 Release 5.1.0.30
Release 5.1.0.30

Change-Id: I04084060c44f6f732c49533ed074a805606f160e
CRs-Fixed: 688141
2016-10-07 21:18:47 -07:00
Deepak Dhamdhere
f74d6f8a97 qcacld-3.0: Fix peer unmap/map handling during roaming
Roam_synch indication processing in host performs peer detach/attach
operations after firmware has already moved to the new peer. Out of
sequence peer unmap and map events can mess up the reference count
for reused peer_id values, which can lead to crash.
Solution:
While detaching a peer during roam sync indication processing,
copy its peer_id_ref_cnt in peer_id_to_obj array to new variable
in the same peer map for that peer id. Peer is deleted at that point.
When the unmap events come in, decrement the old ref_cnt and
map events increment the real ref_cnt.
Once the old ref_cnt goes to 0, subsequent unmap operations apply to
the real peer.

CRs-Fixed: 1063177
Change-Id: I9b20f28f17dea1647a213b9f36060109264addf0
2016-10-07 21:18:46 -07:00
Deepak Dhamdhere
561cdb9c4a qcacld-3.0: Fix improper use of qdf_event_create
Improper use of qdf_event_create caused QDF_ASSERT. Use qdf_event_reset
in ol_txrx_peer_attach(). Use correct comparison for return value
of qdf_wait_single_event().

CRs-Fixed: 1065451
Change-Id: I735fe12230b6558123f73d68f09fd126bf0406d6
2016-10-07 21:18:44 -07:00
qcabuildsw
4f7f258402 Release 5.1.0.29Z
Release 5.1.0.29Z

Change-Id: I7be14ba7785a0207fef21c2d4461c6c364c10e3d
CRs-Fixed: 688141
2016-10-07 20:34:35 -07:00
Archana Ramachandran
1e6b9262ad qcacld-3.0: Add range check for P2P NOA request parameters
Add range check for P2P NOA parameters such as duration and
interval to prevent integer overflow from binary operation.

Change-Id: Iffa57d592af7ac6af7f67d80b85a276aa8faee4e
CRs-Fixed: 1072839
2016-10-07 20:34:34 -07:00
qcabuildsw
fa2d77387f Release 5.1.0.29Y
Release 5.1.0.29Y

Change-Id: I6abc5adbedf2b7184c7d3544f855acd09842a4e2
CRs-Fixed: 688141
2016-10-07 19:57:25 -07:00
Kabilan Kannan
32eb50281c qcacld-3.0: Clean up and refactor tdls module
Currently the build fails, if we disable TDLS
feature flag in the kbuild.
Fix all the tdls conditional compilation issues
to make a successfull build with tdls feature
flag enabled/disabled.

Change-Id: I78114474d9ebe65e76840cb581389535f3486e4f
CRs-Fixed: 1066077
2016-10-07 19:57:23 -07:00
qcabuildsw
f1ba31e987 Release 5.1.0.29X
Release 5.1.0.29X

Change-Id: I7625c975d6f1be9198fb080426b46a3b781fd976
CRs-Fixed: 688141
2016-10-07 19:24:26 -07:00
Ankit Gupta
d97be64489 qcacld-3.0: Remove unused message types
lim_process_message() function references to unused
message types that starts with eWNI_PMC*.

Cleanup the code and remove the unused message type
references from the code.

Change-Id: I5c88cb2544f74cb8c5e05b9178071ddbfaf2de23
Depends-on: 1727734
CRs-Fixed: 1071366
2016-10-07 19:24:25 -07:00
Ankit Gupta
fef4c02f2c qcacld-3.0: Make lim_process* messages static functions
lim_process_messages() and lim_process_deferred_message_queue
are currently a global functions, but they are only referenced
from within lim_process_message_queue.c.

Making lim_process_messages() and lim_process_deferred_message_queue
to be a static function and rearrange it to avoid any forward
reference of it.

Change-Id: I30c5b388814de5fc02fd0352ef41c324216af705
CRs-Fixed: 1071312
2016-10-07 19:24:23 -07:00
qcabuildsw
f754bee389 Release 5.1.0.29W
Release 5.1.0.29W

Change-Id: I3af91053db071b62137116ecd62c782fa9d05b7c
CRs-Fixed: 688141
2016-10-07 18:46:06 -07:00
Padma, Santhosh Kumar
ae6ae24d50 qcacld-3.0: Fix mgmtFrameSessionId in lim_send_p2p_action_frame
Cleanup as part of lim_p2p_action_cnf triggers only when
mgmtFrameSessionId is not 0xff. If cleanup does not happen
in error scenario, it can result in not clearing cfgState->buf
which can lead to dropping of further action frames in
__wlan_hdd_mgmt_tx.

Fix this by filling mgmtFrameSessionId with proper session id.

Change-Id: Icc0f5b576ff71776dc448a673b6e12defe0c514e
CRs-Fixed: 1074565
2016-10-07 18:46:05 -07:00
qcabuildsw
e62940e9d6 Release 5.1.0.29V
Release 5.1.0.29V

Change-Id: I372c04ea7e873dc5216225c827d02757a998cb08
CRs-Fixed: 688141
2016-10-07 17:35:01 -07:00
Rajeev Kumar
2df78cc9c3 qcacld-3.0: Clean up obsolete WMA power API wma_set_qpower_force_sleep
WMA qpower API wma_set_qpower_force_sleep is obsolete and is no longer
used. Clean up unused API wma_set_qpower_force_sleep.

Change-Id: Iad32be5e11c345a542b8f8f6660987a4aff837c7
CRs-Fixed: 1075289
2016-10-07 17:35:00 -07:00
qcabuildsw
405ba71ae7 Release 5.1.0.29U
Release 5.1.0.29U

Change-Id: Ia7f974a488976d3a1d88332a9fee0d6525b6289a
CRs-Fixed: 688141
2016-10-07 15:52:49 -07:00
Selvaraj, Sridhar
e9199ab7c7 qcacld-3.0: Fix to send TDLS frames on peer sta index
qcacld-2.0 to qcacld-3.0 propagation

Currently, After p2p disconnection system role changes to
unknown and due to which tx flag uses self station index
which would send TDLS frames on self station index thus
leading to TDLS connection failure after p2p session teardown.
Fix is to use peer station index in tx flag while sending
TDLS frames except TDLS discovery response which should go on
self station index.

Change-Id: I87ea8806a47730b553055e47bb3e7bdf0266b48f
CRs-Fixed: 970761
2016-10-07 15:52:48 -07:00
Selvaraj, Sridhar
5d95e631e3 qcacld-3.0: Fix consecutive TDLS connection failure after TDLS add sta failure
qcacld-2.0 to qcacld-3.0 propagation.

Currently, Failure of TDLS add sta is leading to failure of
next consecutive tdls connection.
Fix is to update the failure info to HDD and return error
to supplicant.

Change-Id: I0d46a198f2abb87b4a4350b454deb98c5e3b8211
CRs-Fixed: 958534
2016-10-07 15:52:46 -07:00
qcabuildsw
ccd00e89a0 Release 5.1.0.29T
Release 5.1.0.29T

Change-Id: I94e9f3abe6498420711e832526d003ff2f443bc0
CRs-Fixed: 688141
2016-10-07 14:14:45 -07:00
Sandeep Puligilla
ba71da4f6c qcacld-3.0: Detect duplicate session open request
Detect duplicate session request with same mac address
and return failure to requestor.

Change-Id: I0155f29e879e1c2a46a8b9efbcaf160353bf9c05
CRs-Fixed: 1072885
2016-10-07 14:14:44 -07:00
qcabuildsw
6485e1a407 Release 5.1.0.29S
Release 5.1.0.29S

Change-Id: Ifaeb43ba3ef6e851e3e5e0462dfd28ebb4dc29b3
CRs-Fixed: 688141
2016-10-07 12:54:41 -07:00
Kapil Gupta
4b2efbbb0c qcacld-3.0: Add support for 2.4G VHT Interop in SAP
qcacld-2.0 to qcacld-3.0 propagation

In 2.4GHz some stations advertise VHT capability IE in Assoc Req frame.
Add support to detect the VHT capability in vendor specific IE in
Assoc Req frame and establish the connection with VHT mode to
improve performance.

Change-Id: I08dbcb3ce1895aa2108924d7a672e5d9be514e3d
CRs-Fixed: 924814
2016-10-07 12:54:41 -07:00
Padma, Santhosh Kumar
022892105c qcacld-3.0: Fix status code during disassociation
qcacld-2.0 to qcacld-3.0 propagation

Currently status code is mapped same as reason code which results
in wrong status code mapping. Fix this by adding appropriate status
code.

Change-Id: I75a66601c33b4e93fcac674415f38d5a8184c8f3
CRs-Fixed: 1062308
2016-10-07 12:54:38 -07:00
Padma, Santhosh Kumar
9aba02f52c qcacld-3.0: Dump driver information
qcacld-2.0 to qcacld-3.0 propagation

Dump state information of HDD, SME, PE and WMA layers
into a buffer. Contents of this buffer will be copied
into user space using proc entry /proc/debugdriver/
driverdump.

Change-Id: Ifbb102e440d7df20defa1a397964cb9b55082bf9
CRs-Fixed: 955357
2016-10-07 12:54:36 -07:00
Kondabattini, Ganesh
c846f3a36a qcacld-3.0: Consider ACS override params only if ACS is enabled
qcacld-2.0 to qcacld-3.0 propagation

Consider the parameters 'acs_channel' and 'acs_dfs_mode' only
when ACS is enabled for that SAP. Otherwise driver is going to
override the channel even if user configures a fixed channel in
hostapd.conf file.

Change-Id: Ibe24828690ace91338ade10fd00c49fc4acdbd81
CRs-Fixed: 1026420
2016-10-07 12:54:34 -07:00
Padma, Santhosh Kumar
a71196710c qcacld-3.0: Set Tx/Rx aggregation size
qcacld-2.0 to qcacld-3.0 propagation

Add changes to set Tx/Rx aggregation size. Also, add ini parameters
for Tx/Rx aggregation sizes.

Change-Id: Ia5811bf7cf7081989fde5c8cdcca84b42120b90c
CRs-Fixed: 990161
2016-10-07 12:54:32 -07:00
Bhargav Shah
a89d3b4d80 qcacld-3.0: Avoid race condition when vdev is deleted
qcacld-2.0 to qcacld-3.0 propagation

If SME posts message to WMI after vdev_detach happens,
there can be a race condition.
In this case VDEV_SET_PARAM will be called after VDEV_DELETE.
Fix this with introduction of new Boolean flag "is_vdev_valid" which
will be true after VDEV_CREATE is done. This flag will be false
when deletion of vdev happens.
WMI will do VDEV_SET_PARAM only if "is_vdev_valid" true.

Change-Id: Idffd0979bd9bdefa1225d2ea6a24180d81000f48
CRs-Fixed: 964146
2016-10-07 12:54:30 -07:00
qcabuildsw
81eb2b3f6e Release 5.1.0.29R
Release 5.1.0.29R

Change-Id: I7d4d89b51ab0e2e0b0b258c41fa14699cdfcb982
CRs-Fixed: 688141
2016-10-07 09:49:04 -07:00
Nitesh Shah
4c48af3db1 qcacld-3.0: Update BW for interface when moving to single MAC mode
If the device is operating in MAC0 and MAC1. If the interface
present is MAC0 is removed, the interface in MAC1 moves to MAC0.
But the bandwidth for the interface is not updated properly.

The fix is to update the bandwidth of the MAC1's interface when
the MAC0's interface is removed, and is replaced by MAC1's
interface.

Change-Id: If114167f66d13a3660f9b92b72706bfc2e782b50
CRs-Fixed: 1073581
2016-10-07 09:49:03 -07:00
Nitesh Shah
877ad5d74d qcacld-3.0: Update hw_mode_list as per WMI_SERVICE_READY_EXT_EVENT
Driver updates its hw_mode_list entries as per hw_mode_list
given by firmware during WMI_SERVICE_READY_EVENT.

The enhancement is to update hw_mode_list entries in the driver
using the values received in WMI_SERVICE_READY_EXT_EVENT from
the firmware.

Change-Id: I5e4d97523cb7fd018767d5d2fda841f03b2406f6
CRs-Fixed: 1070005
2016-10-07 09:49:02 -07:00
Nitesh Shah
d60bde2bb6 qcacld-3.0: Move a cds log to appropriate log level
A cds log for cds_get_channel_list() is printing quite often
and spamming the kernel logs. This log is not for error.
Hence moving this to appropriate log level.

Change-Id: I5d037f47729b612d6754e64f46b627998ec026f8
CRs-Fixed: 1072651
2016-10-07 09:49:00 -07:00
qcabuildsw
a546aea62d Release 5.1.0.29Q
Release 5.1.0.29Q

Change-Id: I3faed7c8d2e5e2c6b331ea79a8ac3e988c542579
CRs-Fixed: 688141
2016-10-07 08:32:06 -07:00
Rajeev Kumar
9bb2e85aff qcacld-3.0: Power offload unit test framework enhancements
Recently host power offload suspend/resume has switched to 3
stage process. Enhance power offload unit test framework accordingly,
and improve error handling.

Change-Id: I8cc1e955fbaca631ee7fd76b0c907d1e68c836bf
CRs-Fixed: 1072423
2016-10-07 08:32:05 -07:00
qcabuildsw
45d62ce21f Release 5.1.0.29P
Release 5.1.0.29P

Change-Id: I290bcc4977b1c9267c4885750a1707386605be18
CRs-Fixed: 688141
2016-10-06 11:24:31 -07:00
Hanumanth Reddy Pothula
47d2926b35 qcacld-3.0: In FTM mode, don't update config param, max peer limit
Presently, driver configuration from FTM mode to any other mode
is failing due to start module is failing, because configuration
parameter(max peer limit) is set to zero during FTM mode
initialization.

In FTM mode, during start modules, don't update configuration
parameter, max peer limit.

Change-Id: Ie5adea45b2dac099e797a1e25536cc959f3d5525
CRs-Fixed: 1073593
2016-10-06 11:24:30 -07:00
qcabuildsw
489e79b099 Release 5.1.0.29O
Release 5.1.0.29O

Change-Id: Idb4a6f647a160cf9d76a98f1ff59a0542598eb08
CRs-Fixed: 688141
2016-10-06 08:14:45 -07:00
Jeff Johnson
db6f9c45e2 qcacld-3.0: Remove obsolete wlan_hdd_mib.h
All in-code references to wlan_hdd_mib data structures have been
removed from the driver, so delete the mib structure from the adapter
context and the remove the header file itself.

Change-Id: I774d16df363d069eae1616807ce6f80da4800bb4
CRs-Fixed: 1073739
2016-10-06 08:14:44 -07:00
Jeff Johnson
6716a4ad9e qcacld-3.0: Remove obsolete connDot11DesiredBssType
All users of connDot11DesiredBssType have been converted to better
supported interfaces, so remove all traces of this field.

Change-Id: Iabfc4642a500587abd1f10d4fbc3f9e88f627a83
CRs-Fixed: 1073739
2016-10-06 08:14:42 -07:00
Jeff Johnson
229416002f qcacld-3.0: Remove obsolete hdd_conn_get_connected_bss_type()
Function hdd_conn_get_connected_bss_type() is no longer being used, so
remove it.

Change-Id: I0aafea43631d0ab8d3a99d8e913392f6090cd124
CRs-Fixed: 1073739
2016-10-06 08:14:41 -07:00
Jeff Johnson
9edf957229 qcacld-3.0: Avoid eMib_dot11DesiredBssType in cfg80211
Currently in wlan_hdd_cfg80211.c wlan_hdd_try_disconnect() calls
hdd_conn_get_connected_bss_type() which returns a value of
eMib_dot11DesiredBssType.  This type is being deprecated so directly
use the adapter's device_mode.

Change-Id: Ib8981750475bd27818a0c7e4e386396869d90e69
CRs-Fixed: 1073739
2016-10-06 08:14:38 -07:00
Jeff Johnson
9eeed0aedb qcacld-3.0: Cleanup strange behavior in __iw_set_mode()
__iw_set_mode() currently uses hdd_conn_get_connected_bss_type() to
see if the adapter is connected, discarding the connectedBssType
returned by the function.  That is not the correct API for this use
case. Clean up this strange behavior by using hdd_conn_is_connected()
to see if the adapter is connected.

Change-Id: I66f85fb8275ae2885012ebf8710187b2b886dfb0
CRs-Fixed: 1073739
2016-10-06 08:14:36 -07:00
Jeff Johnson
d6e4b639f8 qcacld-3.0: Cleanup strange behaviors in __iw_set_essid()
__iw_set_essid() currently has a few strange behaviors:
* It currently rejects any request when in IBSS mode.
* It currently uses hdd_conn_get_connected_bss_type() to see if the
  adapter is connected, discarding the connectedBssType returned by
  the function.
* It currently uses the conn_info.connDot11DesiredBssType field to
  determine the BSS type, but this field is being deprecated.

Clean up these behaviors by allowing IBSS mode, by using
hdd_conn_is_connected() to see if the adapter is connected, and by
using the adapter device_mode to determine the BSS type.

Change-Id: I0180eb70487dd664c1cb85eee9a4d53eb7cb14a9
CRs-Fixed: 1073739
2016-10-06 08:14:34 -07:00
qcabuildsw
71e0316eda Release 5.1.0.29N
Release 5.1.0.29N

Change-Id: I593a4500492dfb1d713fe604cbb892b6a2b3af3a
CRs-Fixed: 688141
2016-10-06 04:08:58 -07:00
Agrawal Ashish
06e76d2909 qcacld-3.0: Populate correct supported rates from hostapd.conf file
qcacld-2.0 to qcacld-3.0 propagation

Currently driver populates default supported and extended supported
rates in beacons even if hostapd.conf file wants to change
supported and extended supported rates.
Fix this by parsing beacon head and tail to get supported
and extended rates and populate them in sap config.
If Driver force acs is enabled, driver acs will get priority.
In case of driver based acs, driver should
ignore basic and extended rates from hostapd.conf and should
populate default rates.

Change-Id: I3226438b908a96f1b1bd3c2968a0c20eef81a799
CRs-Fixed: 1035768
2016-10-06 04:08:57 -07:00
Agrawal Ashish
b2d1a45a78 qcacld-3.0: Add support for legacy off channel notification in case of p2p-GO
qcacld-2.0 to qcacld-3.0 propagation

In this feature,
1) When a legacy client connects to P2P GO, Host will indicate FW
   to stop NOA and start CTS2SELF.
2) Ini Support for this feature.

Change-Id: If76d8ef454633d9a02dd6057b5d6ca3e9e639ea4
CRs-Fixed: 932264
2016-10-06 04:08:49 -07:00
qcabuildsw
05910db713 Release 5.1.0.29M
Release 5.1.0.29M

Change-Id: I5a16e164585382540061d911a7afc90d62b06cbf
CRs-Fixed: 688141
2016-10-05 15:02:42 -07:00
Dustin Brown
38f2b5584c qcacld-3.0: Fill regulatory info before wiphy init
Currently, some regulatory information is being populated after it may
be needed by wiphy for initialization. Reorder the order of execution to
populate this data before it is needed by wiphy.

Change-Id: I218c19c84b6c7f0f62a94b211201281939838438
CRs-Fixed: 1074146
2016-10-05 15:02:41 -07:00
qcabuildsw
55780b5599 Release 5.1.0.29L
Release 5.1.0.29L

Change-Id: Id70f535bab06f14d17eb8e774475010768a57481
CRs-Fixed: 688141
2016-10-05 13:54:08 -07:00
Archana Ramachandran
75c1ca7de8 qcacld-3.0: Fix HDD logging API in wlan_hdd_assoc
HDD should use new logging API i.e., hdd_*

CRs-Fixed: 937586
Change-Id: Iabe36591e6aae45cb837f0f434ccafd743f3b746
2016-10-05 13:54:07 -07:00
qcabuildsw
a2bbaddd9d Release 5.1.0.29K
Release 5.1.0.29K

Change-Id: Icdfe0c05382e946e76f3e34bc7a5542aba5f4da8
CRs-Fixed: 688141
2016-10-05 11:55:31 -07:00
Manjunathappa Prakash
acf3561f35 qcacld-3.0: Do NULL check on adapter->dev in hdd_lro_flush
Fix the issue due NULL pointer access on adapter->dev.
One of the instance this happened is inside __hdd_hostapd_uninit().

Change-Id: Ie2a3e41d446261cd32729b8eb8f12e23134a8828
CRs-Fixed: 1073808
2016-10-05 11:55:30 -07:00
qcabuildsw
0a4bd746b2 Release 5.1.0.29J
Release 5.1.0.29J

Change-Id: If9de5595f4d45a7fb38b34d608e953fea7f1aa8f
CRs-Fixed: 688141
2016-10-05 07:48:06 -07:00
Arun Khandavalli
ca198b5eb5 qcacld-3.0: Allocate memory for set_offload and program at once
qcacld-2.0 to qcacld-3.0 propagation

Presently, in BPF set_offload structure and the filter program are
allocated separately. In certain error paths the program is not
freed correctly because of which there can be memory leaks.
Have a single allocation for the set_offload and program to avoid any
memory leaks.

Change-Id: I097d3408cc89c26e015fd6aee8668f53e8f64cf7
CRs-Fixed: 1006522
2016-10-05 07:48:04 -07:00
qcabuildsw
87499b66d7 Release 5.1.0.29I
Release 5.1.0.29I

Change-Id: I810890166547a413bfbdfa053417e2bb5ddfafc2
CRs-Fixed: 688141
2016-10-05 03:59:08 -07:00
Komal Seelam
f2136bb225 qcacld-3.0: Enable Runtime PM after first interface is up
Enable Runtime PM after first interface is up and disable it when
the last interface goes down. The current logic is enabling runtime
pm too early, causing crashes.

Change-Id: I486409bd8375de327b724fc16ab32b4907c1c093
CRs-Fixed: 1072520
2016-10-05 03:59:07 -07:00
qcabuildsw
a6b5859c3b Release 5.1.0.29H
Release 5.1.0.29H

Change-Id: I2003527c690cf8217aa9a1b9decc6dc8f90c3e09
CRs-Fixed: 688141
2016-10-05 03:13:24 -07:00
Vidyullatha Kanchanapally
5d0a83e23c qcacld-3.0: Buffer delTs if an addTs is buffered
qcacld-2.0 to qcacld-3.0 propagation

Currently when an addTs is buffered for processing in SME
and a delTs for the corresponding addTs is issued, the delTs
is getting dropped since the addTs has not yet been processed.
Fix this by buffering the delTs command if a corresponding flow
is not found.

Change-Id: Ib759ee7f2a5d4c089d5362f93568fb4dd6eda8cf
CRs-Fixed: 1008956
2016-10-05 03:13:23 -07:00
qcabuildsw
86d3824fbd Release 5.1.0.29G
Release 5.1.0.29G

Change-Id: I6efe93cc37529f9834f73f45a04bd806263baa04
CRs-Fixed: 688141
2016-10-05 00:34:13 -07:00
Komal Seelam
af61ccdcb1 qcacld-3.0: Fix wrong use of Runtime get API inplace of Runtime put
Wrong use of runtime get results in mismatch in runtime pm usage count.
Hence fix it by calling runtime put API instead of get API.

Change-Id: I89dfcd2d1ad980df47f2244c9fcac5a68ac27d71
CRs-Fixed: 1072520
2016-10-05 00:34:12 -07:00
qcabuildsw
4d8acdd693 Release 5.1.0.29F
Release 5.1.0.29F

Change-Id: I9d8ff53b4fc51fcebe1d6f721c0f2060d1865f18
CRs-Fixed: 688141
2016-10-04 23:00:48 -07:00
Vidyullatha Kanchanapally
87b224f183 qcacld-3.0: Get operating channel only when connected or bss started
qcacld-2.0 to qcacld-3.0 propagation

wlan_hdd_mgmt_tx can be called in not-connected state in case of
station mode. Here the operating channel is fetched from the connected
info without actually checking whether the sta interface is connected
or not and hence can lead to making a wrong decision whether or not
to request ROC. Fix the above issue by fetching the operating channel
only in connected state. In not-connected state driver always goes
for requesting a ROC. Add similar check in case of soft ap and
P2P-GO to get operating channel only when the bss is started.

Change-Id: I91571f3b6a4f68487afcddd3152f469ff502eb6b
CRs-Fixed: 957469
2016-10-04 23:00:47 -07:00
Vidyullatha Kanchanapally
518c5d7979 qcacld-3.0: Append EC IE and Interworking IE to beacon
qcacld-2.0 to qcacld-3.0 propagation

Supplicant is sending Extended capabilities (EC) IE and
Interworking IE as part of beacon IEs to the driver but
the driver is not looking for these IEs when populating
the beacon. To fix this append the EC IE and Interworking
IE to the beacon template.

Change-Id: I6e19bfacb6f83526ce80d59cf43c23c6e2a77233
CRs-Fixed: 964594
2016-10-04 23:00:45 -07:00
Sriram Madhvapathi
58f0e27b2b qcacld-3.0: Fix IBSS peer info handling when no peers are connected
qcacld-2.0 to qcacld-3.0 propagation

wma_ibss_peer_info_event_handler returns error when peer_info is NULL.
However, peer_info can be NULL in case num_peers connected is 0.
Handle this case in hdd_get_ibss_peer_info_cb so that callers of
GETIBSSPEERINFOALL do not see stale results after all connected peers
have left the IBSS. Also, log the errors for enabling debug and reset
the ibss_peer_info statistics.

Change-Id: I913748bf11f9362e5faaaf29c26fc39fda85f4a9
CRs-Fixed: 1007555
2016-10-04 23:00:42 -07:00
qcabuildsw
3ccc850439 Release 5.1.0.29E
Release 5.1.0.29E

Change-Id: Ic6282439799d7322837636c9855d8fad73caa870
CRs-Fixed: 688141
2016-10-04 22:30:00 -07:00
Sen, Devendra
4bbf40a0eb qcacld-3.0: Fix TDLS peer QoS capability in transport layer
qcacld-2.0 to qcacld-3.0 propagation

In __wlan_hdd_cfg80211_tdls_oper, since IS_ADVANCE_TDLS_ENABLE
is disabled, the tdlsLinkEstablishParams does not get populated
with correct QoS capability of the peer. The transport layer is
then configured with this wrong capability. This results in all
packets, independent of TID, enqueued into BE queue. Fix this
by getting the QoS capability from hddTdlsPeer_t.

Change-Id: Iafbd416026c9a0e4b05654ec810b0e0f3546beba
CRs-Fixed: 1010915
2016-10-04 22:29:59 -07:00
qcabuildsw
a72a943073 Release 5.1.0.29D
Release 5.1.0.29D

Change-Id: I7b9b8ae7116ec104039f8e9b75b2d9a978bcd361
CRs-Fixed: 688141
2016-10-04 20:55:43 -07:00
Kapil Gupta
139c330d95 qcacld-3.0: Cancel Remain on channel command before stop ap
qcacld-2.0 to qcacld-3.0 propagation

If P2P-GO stop comes during ROC, it may cause WLANSAP_StopBss
API to fail. ROC is stuck as firmware is running Gscan which
is higher priority than p2p ROC scan prioirty.
This causes ROC command to be stuck in the active list for 10
seconds and will eventually cause a crash in FW when host will
try to add self peer since older peer is still present in the
FW with same mac address

Add change to increase the priority of P2P scan and cancel ROC
before calling stop AP API.

CRs-Fixed: 1065161
Change-Id: I3a62234596c8c2acc0155b483847b9adc159d757
2016-10-04 20:55:42 -07:00
Kapil Gupta
80f4a8dad8 qcacld-3.0: Correct IEs in beacon filter API
qcacld-2.0 to qcacld-3.0 propagation

IE's numbers are not set correctly in beacon filter API.

Add changes to correct this.

Change-Id: Ib489b0fc7bc1f0a2b7414f59ed325deecb65bb8e
CRs-Fixed: 1030084
2016-10-04 20:55:39 -07:00
Sreelakshmi Konamki
336e16e392 qcacld-3.0: Fix to update proper session_entry in lim_process_messages()
qcacld-2.0 to qcacld-3.0 propagation

In lim_process_messages(), few SME messages updates 'session_entry'
using SME session id. Host driver should not use SME session id in PE.

Fix to update 'session_entry' using pe_find_session_by_bssid().

Change-Id: Icebf4604d5a3a825afc6b1d3540bd228488ce267
CRs-Fixed: 1020643
2016-10-04 20:55:37 -07:00
Masti, Narayanraddi
2194de20ce qcacld-3.0: Register event in wma to track TDLS connection
qcacld-2.0 to qcacld-3.0 propagation

TDLS connection will teardown in host on receiving teardown
event from Firmware. But if host is in WOW mode then host will
not receive teardown event from FW.

To fix this issue add TDLS connection tracker event changes in WMA.

Change-Id: I3a305e95410d2884b41e9e4183ed4eeabd733f9d
CRs-Fixed: 991993
2016-10-04 20:55:35 -07:00
Abhishek Singh
c50055ab90 qcacld-3.0: If MCC is disabled do not roam to an AP which cause MCC
qcacld-2.0 to qcacld-3.0 propagation

Even though MCC is disabled by gEnableMCCMode ini, driver try to
roam to APs which may cause MCC but as MCC is disable the roaming
fails eventually in CSR while trying to connect to the new profile.

Driver creates a preauth session which is not deleted upon failure.
The session sme state is eLIM_SME_WT_REASSOC_STATE and thus fresh
scan required is set to false and cached scan result are returned.

Do not add the APs which cause MCC scenario, in preauth candidate
list if MCC is disabled.

Change-Id: Iae2a887e1fa34f89f340bd7392d757e1add97a16
CRs-Fixed: 992672
2016-10-04 20:55:33 -07:00
Abhishek Singh
49275561ed qcacld-3.0: Ignore beacon miss if CSA is in progress
qcacld-2.0 to qcacld-3.0 propagation

In case if CSA is in progress and beacon missed is received
the session is disconnected. Now if STA tries to connect to new
AP and at the same time CSA timer expires then tries to switch
channel. As old session is deleted this switch channel fails
as channel info is invalid. This also leads to LIM state change
and thus the roam command is not removed from active command
list.

To fix this:
 - Ignore beacon miss if CSA is in progress
 - In CSA timer add check to ensure that channel change is for
   current session.

Change-Id: Icbb80394e4870ccae19782ee17e37465020e93f9
CRs-Fixed: 1060378
2016-10-04 20:55:32 -07:00
Selvaraj, Sridhar
a11edcba42 qcacld-3.0: Enable kernel specific WiFiSON changes default from 4.7.0 kernel
Enable driver changes dependent on kernel flags CFG80211_SCAN_BSSID
and CFG80211_CONNECT_PREV_BSSID default for linux kernels starting
from version 4.7.0 as the dependent kernel changes are present from
this version.

Change-Id: I0ee25eb11c75c688becbf61b4424bd0bae28bd3a
CRs-Fixed: 1064018
2016-10-04 20:55:30 -07:00
Selvaraj, Sridhar
7f42b5f1d7 qcacld-3.0: Add OUI type(0x10) to HS2.0 IE frame parser
Add OUI type(0x10) to HS2.0 IE frame parser. In current implementation
without OUI type being set, the first IE with WFA OUI is parsed as
HS2.0 IE, even though the OUI type is not 0x10.

Change-Id: I63d97fc100f419c09bc22d1747f434fb9a5c3b06
CRs-Fixed: 1067816
2016-10-04 20:55:28 -07:00
qcabuildsw
dc802ae8e1 Release 5.1.0.29C
Release 5.1.0.29C

Change-Id: Ied83d163ac0172c248fcdbb567da97562707cb7a
CRs-Fixed: 688141
2016-10-04 18:58:42 -07:00
Hanumanth Reddy Pothula
9f4048fff7 qcacld-3.0: During con mode change stop netif queues
If user triggers con_mode change, while data transmissions are
happening, there is possibility of device crash, as data queues
are not stopped during con_mode change.

In con_mode handler, stop data queues before stopping modules.

Change-Id: I348d0da707ea4b706edfcd396adee32502180e3e
CRs-Fixed: 1070008
2016-10-04 18:58:41 -07:00
qcabuildsw
5667e8d787 Release 5.1.0.29B
Release 5.1.0.29B

Change-Id: I86c15dd3f5aac7a57f68ffb77bb4b5d1d7c77e84
CRs-Fixed: 688141
2016-10-04 18:29:18 -07:00
Selvaraj, Sridhar
5c9146d3cf qcacld-3.0: Fix double mem free while using cds_send_mb_message_to_mac
cds_send_mb_message_to_mac function frees the input memory buffer
irrespective of the success/failure of the message posting to the
MAC message queue.

This changes fixes the cases where the input buffer is attempted to
be freed for fail case of cds_send_mb_message_to_mac

Change-Id: I920822bf0ee268adb1312eed20de53450802fdc8
CRs-Fixed: 1070461
2016-10-04 18:29:16 -07:00
qcabuildsw
66cc5ab765 Release 5.1.0.29A
Release 5.1.0.29A

Change-Id: I71e10aca878e8e98c7db25e006b60af02b331cc3
CRs-Fixed: 688141
2016-10-04 15:44:08 -07:00
Houston Hoffman
abaf6736eb qcacld-3.0: Reset skb->cb when forwarding intrabss packets
skb->cb has different meaning for rx & tx packets. Reset the
cb to avoid mis-interpretation of the data that leads to
eratic misbehavior the least of which is failure to forward
packets.

Change-Id: I5d1396c70cd93d165aa825c4408ad46d082693f3
CRs-Fixed: 1065769
2016-10-04 15:44:07 -07:00
Houston Hoffman
2359ca00da qcacld-3.0: Fix free_pool referencing in hdd_lro_desc_find
list_empty api does not work correctly on copied list head.
Need to point to the original free_pool memory so that the
spinlocking and list management apis work as expected on
the original memory.

Change-Id: I631466d156c83f70cb6ea06eec0e361081f294cc
CRs-Fixed: 1070258
2016-10-04 15:44:05 -07:00
qcabuildsw
987ce39054 Release 5.1.0.29
Release 5.1.0.29

Change-Id: I46dfb5811ffd936ad573818cbbbfd71340cc99f1
CRs-Fixed: 688141
2016-10-04 13:45:02 -07:00
Archana Ramachandran
dfb6f852b9 qcacld-3.0: Fix HDD logging API in wlan_hdd_p2p
Use only HDD logging API to prevent check patch errors

CRs-Fixed: 937681
Change-Id: I76b11c6783d123c727de4e88e46f9360ba54b0bd
2016-10-04 13:45:01 -07:00
Archana Ramachandran
e87005ca56 qcacld-3.0: Fix incorrect log levels in CFG INI
Reduce the level of non error logs to notice.

CRs-Fixed: 936397
Change-Id: Ia433e9ec2b9bae151591e1d9db95dfbdbe527281
2016-10-04 13:44:58 -07:00
qcabuildsw
f19292b172 Release 5.1.0.28Z
Release 5.1.0.28Z

Change-Id: I5c8c3ffe8ace5505359d4537f832d0a56cefe221
CRs-Fixed: 688141
2016-10-04 13:14:40 -07:00
Sandeep Puligilla
88de6fb765 qcacld-3.0: Fix call to duplicate vdev detach
Null pointer dereference due to duplicate vdev
detach call.
Vdev detach is triggered as part of the delete
self sta but in failure scenario del bss request
timeout handler also called the vdev detach
which triggered NULL pointer dereference in OL layer.

-Fix the del bss request timeout handler by adding
more condition checks specific to P2P as the changes
are related to P2P.
-Remove vdev stop from the vdev start timeout
handler.

Change-Id: Ibe848c89823efbb10f7dcc193157189106ba238b
CRs-Fixed: 1070817
2016-10-04 13:14:39 -07:00
qcabuildsw
c1485fdaeb Release 5.1.0.28Y
Release 5.1.0.28Y

Change-Id: Ifb088de83a4b42476391763c5bfadf988cc62570
CRs-Fixed: 688141
2016-10-04 12:40:53 -07:00
Padma, Santhosh Kumar
d7cc079983 qcacld-3.0: Add changes for DISA certification
Add changes to parse DISA parameters received from
user space and pass them to firmware for firmware
to encrypt data and send back to driver. Also, add
changes to print encrypted data received from firmware.

Change-Id: Ic6928a93f799c47518fbbad96564062f595287dd
CRs-Fixed: 1064970
2016-10-04 12:40:51 -07:00
qcabuildsw
62e91469ab Release 5.1.0.28X
Release 5.1.0.28X

Change-Id: I0524f3c0226d70ae28384e2c3e85043805d9201f
CRs-Fixed: 688141
2016-10-04 12:07:04 -07:00
Jeff Johnson
9cc0ed982a qcacld-3.0: Correctly report 20 MHz bandwidth in Linux 4.x
Linux kernel 4.0 introduced a new way for drivers to report bandwidth
information to userspace.  Prior to this rate information was
indicated by setting an appropriate BW flag in the struct rate_info
flags field, and 20MHz bandwidth was assumed if no flag was set.
Linux 4.0 introduced a new bw field to struct rate_info, and the
driver was updated to set this field in all cases where previously a
bandwidth-specific flag had been set.  Unfortunately in the 20 MHz
bandwidth case the driver was not previously setting a
bandwidth-specific flag, and hence in the current case it is not
setting the bw field.  This manifests itself in the following warning
emitted by the kernel when the device is associated to an Access Point
with a 20MHz bandwidth:
    WARNING: at kernel/msm-4.4/net/wireless/util.c:1137
    Modules linked in: wlan(O)
    PC is at cfg80211_calculate_bitrate+0xdc/0x1f0
    LR is at nl80211_put_sta_rate+0x64/0x1dc

Fix this issue by initializing the rate_info bw field to 20 MHz prior
to calculating the bandwidth.  If the bandwidth is anything other than
20 MHz then this default value will later be overwritten.

Change-Id: I734b05e0e41c7a859939372fe4d8a3668a08c668
CRs-Fixed: 1072803
2016-10-04 12:07:03 -07:00
qcabuildsw
b491af8d70 Release 5.1.0.28W
Release 5.1.0.28W

Change-Id: I84725199df4259aee0b103c4b8266a9f10a29a01
CRs-Fixed: 688141
2016-10-04 11:14:28 -07:00
Arif Hussain
281e7ec8ed qcacld-3.0: Remove gRoamingTime
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default value within wlan_hdd_cfg.h is:
define CFG_ROAMING_TIME_DEFAULT (10)

gRoamingTime is set to zero in WCNSS_qcom_cfg.ini to always
complete/cancel roaming operation.

As part of this WCNSS_qcom_cfg.ini cleanup remove gRoamingTime and
related code.

Change-Id: I1f7833b2ae4794ceac8d4e3826fa26417b54eae4
CRs-Fixed: 1071268
2016-10-04 11:14:25 -07:00
qcabuildsw
62b9b75975 Release 5.1.0.28V
Release 5.1.0.28V

Change-Id: I5864ef22deeba159d40cd96b14d61c696280a720
CRs-Fixed: 688141
2016-10-03 19:09:31 -07:00
Krishna Kumaar Natarajan
ea8f5e0539 qcacld-3.0: Fix compilation error on disabling FEATURE_NAPI
When FEATURE_NAPI is disabled there is a compilation error. Fix the
compilation error by adding appropriate function defintion.

Change-Id: If77ad5d8a5a6edc189159d0e9d6d92edd2856052
CRs-Fixed: 1072777
2016-10-03 19:09:30 -07:00
Krishna Kumaar Natarajan
9c323a8ceb qcacld-3.0: Fix check for identifying P2P action frame
Fix check for identifying P2P action frame by calling the helper
routine wlan_hdd_is_type_p2p_action().

Currently incoming frame buffer is checked against only for Public
action category and not for P2P OUI. Without this any Public action
frame could be incorrectly tagged as Provisionaly Discovery Request
or Go Negotiation Request.

Change-Id: Id55feec06072e2ca6ad780e51c49cd19662b4d8e
CRs-Fixed: 1071200
2016-10-03 19:09:29 -07:00
qcabuildsw
d5ed3ef2ba Release 5.1.0.28U
Release 5.1.0.28U

Change-Id: I9f385c843c80aaa9d662b2823fa8f935d4956e85
CRs-Fixed: 688141
2016-10-03 17:39:09 -07:00
Padma, Santhosh Kumar
29df362726 qcacld-3.0: Add ini control to honor power constraint
qcacld-2.0 to qcacld-3.0 propagation

Add changes to honor power constraint based on ini. Also, enhance
logging for power sent to fw.

Change-Id: Iefd497d76076527ca4c388cade46644a88a51932
CRs-Fixed: 1016876
2016-10-03 17:39:07 -07:00
Poddar, Siddarth
eefe348b69 qcacld-3.0: Store pktlog events when pktlog is enabled by default in INI
Host should not honor any vendor pktlog disable command
if NO vendor pktlog enable command is sent previously.

Currently, vendor sends pktlog disable command without sending enable
command during init and because pktlog is enabled in ini by default,
Host sends the pktlog disable command to firmware which is not as expected.

To fix this, host uses reserved flag in wifi_start_log to distinguish
vendor command from iwpriv or pktlog conf tool command and vendor disable
pktlog command will be sent to firmware only when vendor pktlog enable
commands is sent previously.

Moreover, pktlog INI enable by default and Pktlog buffer size are now
controlled using a macro FEATURE_PKTLOG depending on build variant.
For production/user build, pktlog is default disable and buffer size is
1 MB, whereas for dev build, pktlog is default enable and buffer size is
10 MB.

Change-Id: If64cd522e91cbe9a6d94d8626eb758282fcfd1bd
CRs-Fixed: 1072584
2016-10-03 17:39:04 -07:00
Selvaraj, Sridhar
7231c5f049 qcacld-3.0: Implement a generic API to set session param from HDD
Currently, in host driver, ssid hide which is a session specific
parameter is set on reception of corresponding iwpriv command. Driver
would need to handle similar cases of setting session specific parameter
from HDD[ need this for setting ignore assoc disallowed parameter
for MBO].

Modify the ssid hide API's to generic so that the same API can be
used for setting any session specific paramater in future.

Change-Id: I29c62ff4a6f6d9ed1ff4a0f31a82727eb623bfd4
CRs-Fixed: 1072081
2016-10-03 17:39:02 -07:00
Selvaraj, Sridhar
0174182585 qcacld-3.0: Route RSO commands to WMA through LIM layer
qcacld-2.0 to qcacld-3.0 propagation.

Presently the Roam Scan Offload commands(Start/Restart/Stop etc) are all
sent directly from CSR to WMA. This fix reroutes these commands to LIM
and then to WMA. In LIM, ext cap IE present in assoc IE buffer of RSO
command is updated with FTM[Fine Time Measurement] capabilities if set
in host driver

Change-Id: I86c3b93570a38329cbc6a8a31017ece172164732
CRs-fixed: 1009486
2016-10-03 17:39:00 -07:00
Selvaraj, Sridhar
4ea106ed87 qcacld-3.0: Update scan request IEs with default scan IEs
As part of MBO(Multiband Operations), supplicant provides default
scan IEs per adapter to driver at init time which is passed to
FW for future use of the IEs in FW initiated scans. However
Host driver also need to save default scan IE's to use the same in
driver initiated scans.
For example LOWI scans request may not have MBO IE and then in that
case we need to copy the MBO IE from default IE and send it in the
scan request to firmware.

The fix implements the following:
1) Save default scan IEs per adapter in host driver when received.
2) Compare/Update IEs in cfg80211 scan request with default scan IEs.

Change-Id: I94278637ee03807104fcf85db544c6be22ec6adf
CRs-Fixed: 1039969
2016-10-03 17:38:50 -07:00
Deepak Dhamdhere
b106ae5c99 qcacld-3.0: Update default scan IE's to FW
As part of MBO(Multiband Operations), host driver need to supply
the default scan IEs to firmware at wifi init time using existing
VDEV SET IE command. FW uses these Scan IE's in subsequent scans,
.i.e. FW initiated Probe Requests.

As part of this fix, receive default scan IE's from supplicant,
update extended capability IE with FTM values(if ext cap IE is
present), send down the scan IE's buffer to FW which would be used
for subsequent FW initiated scans.

Change-Id: Ia23459078d93a30c9a1715e391023ee0a1de93ee
CRs-Fixed: 1039969
2016-10-03 17:38:47 -07:00
Sriram Madhvapathi
85df7c7d2f qcacld-3.0: Correct the IBSS tx rate information
qcacld-2.0 to qcacld-3.0 propagation

GETIBSSPEERINFO(ALL) fetches IBSS peer information which
includes tx rate. However, only lower 3 bytes of txRate
field is relevant. Mask out irrelevant fields when passing
tx rate info to the user.

Change-Id: Ice0199b84899e7452bf64353c744118f109d9c14
CRs-Fixed: 1050973
2016-10-03 17:38:45 -07:00
Kapil Gupta
6213c01b1b qcacld-3.0: Enable/disable qpower dynamically
qcacld-2.0 to qcacld-3.0 propagation

Add changes to support qpower dynamically using vendor command.

CRs-Fixed: 1054217
Change-Id: Ibc9456c2edc4f385f637cb9e45e3f51a6a911121
2016-10-03 17:38:43 -07:00
Kapil Gupta
155748e7b6 qcacld-3.0: Fix memory leak issue
qcacld-2.0 to qcacld-3.0 propagation

Memory should be allocated to radar_event only when radar phy
event needs to be sent to WMA layer.

Add changes to fix memory leak.

CRs-Fixed: 1065466
Change-Id: Ia3e93ddd47913956c27487472b6a70eb68d63fd9
2016-10-03 17:38:41 -07:00
qcabuildsw
def4fddd4f Release 5.1.0.28T
Release 5.1.0.28T

Change-Id: I4b57f8e660477f0496a8460f624ad6ac0ccae737
CRs-Fixed: 688141
2016-10-03 17:38:39 -07:00
Sandeep Puligilla
ada729259f qcacld-3.0: clear sme open session event
In failure scenario sme session id is getting
reset but sme open session flag is not cleared.
Due to this scan rejected from host.

Clear the sme open session event in sme close
failure/timeout scenario.

Change-Id: I2cb91120947c38a25df508c376f0e1377717458f
CRs-Fixed: 1072820
2016-10-03 17:38:37 -07:00
qcabuildsw
806fa4c2a7 Release 5.1.0.28S
Release 5.1.0.28S

Change-Id: I0f3661f2783d1b48500f1876926398f0c7760d09
CRs-Fixed: 688141
2016-10-03 17:38:34 -07:00
Orhan K AKYILDIZ
5f0ff72238 qcacld-3.0: Fix multiple adapter LRO flush issue
A new adapter overwrite previous adapter information for LRO flush
callback, causing LRO packets for that adapter not being flushed and
sit in the LRO manager queues.
LRO flush now walks through the adapter list and flushes for every
LRO-enabled adapter.

Change-Id: I4c882a6521759c1c8fa05b9d9be4134feabd08aa
CRs-Fixed: 1072471
2016-10-03 17:38:31 -07:00
Hanumanth Reddy Pothula
7a65740e47 qcacld-3.0: Unregister wext interface, on STA interface down
Host registers wext handlers, during STA interface UP. But not
unregistering during interface down, lending user to issue iwpriv
commands though interface is down.

Unregister wext interface, by initializing wireless_handlers to NULL
during interface down.

Change-Id: I839d733595672c8c43e5a085ea5f1e97d98c4c31
CRs-Fixed: 1064023
2016-10-03 17:38:27 -07:00
Rajeev Kumar Sirasanagandla
478730010a qcacld-3.0: Add support to get bus message size
qcacld-2.0 to qcacld-3.0 propagation

This commit allows the upper layers to query  driver for max
message size between the host & firmware using vendor command.

Change-Id: I21db90c854e6105f00c27dec9389f2cafd4f6508
CRs-Fixed: 965244
2016-10-03 17:37:02 -07:00
Poddar, Siddarth
1ab0a3db60 qcacld-3.0: Fix memory leak when SSR is triggered
qcacld-2.0 to qcacld-3.0 propagation.

Packets are not freed from cache buffer and causes memory
leak in SSR case. Flush cache RX frame queue to avoid this memory leak.

Change-Id: Idd9edde6fdb3b9ff3ecbe7d8139f9a66468b70af
CRs-Fixed: 1051019
2016-10-03 17:33:01 -07:00
Selvaraj, Sridhar
9cee77f3ec qcacld-3.0: Trigger Auth req(OPEN) when SHARED times out
qcacld-2.0 to qcacld-3.0 propagation

When the OPEN/SHARED WEP is configured, the current
implementation will start Auth request with SHARED and if it
fails, triggers Auth request with OPEN. This change will
trigger the OPEN Auth requests when the timeout happens
(no Auth response received for previous attempt i.e.AUTH req
SHARED case). Some APs don't respond to Shared Auth if
they support only Open. To interoperate with this kind
of APs try Open Auth if Auth timeout happens with Shared
Auth.

Git-commit: 368b3a4eb4b4067bfff88d3dbd21371af3bb23a8
Change-Id: I28b9186b9dc238640fd7655c9ac73e8aa89aec54
CRs-Fixed: 984341
2016-10-03 17:32:48 -07:00
Dustin Brown
73fce8f09a qcacld-3.0: Abort suspend if RRM scan is pending
Currently RRM scan state is not being tracked, leading to possible
suspend attempts while RRM scan is pending. Set scan state information
to prevent suspend while RRM scan is pending.

Change-Id: I1d688f137961b4cb09d13764761c8d22709c3a43
CRs-Fixed: 1072598
2016-10-03 17:32:46 -07:00
Selvaraj, Sridhar
ebda0f2713 qcacld-3.0: Control chan avoidance indication through vendor command
qcacld-2.0 to qcacld-3.0 propagation

Provide mechanism to user to enable or disable channel avoidance
indication through vendor command and also control this mechanism
using "gOptimizeCAevent" ini parameter.

By default "gOPtimizeCAevent" ini parameter is disabled. Ini param
controls the CA events based on the mode. If ini is enabled(1) then
firmware will send CA events only in SAP/GO mode and it will not send
any CA events in STA mode. If ini is disabled CA events are sent to
host in all the modes.
a. gOptimizeCAevent = 1
  - When host sends ioctl(enable), FW will send "ONE" CA indication
    to host(though it is duplicate).
  - When host sends ioctl(disable), FW doesnot perform any action.
  - Whenever any change in CA and WLAN is SAP/P2P-GO mode, FW will
    send CA ind to host regardless of the ioctl status.
b. gOptimizeCAevent = 0
  - FW will ignore ioctl request if received.
  - CxM behavior will be as per the current implementation.

Change-Id: I9bd81b03b97a60bb81e550068742b2fc0b776ebb
CRs-Fixed: 903249
2016-10-03 17:27:36 -07:00
qcabuildsw
467c791c54 Release 5.1.0.28R
Release 5.1.0.28R

Change-Id: I76116a3cc336ab4a63346d74233851e67958a4ba
CRs-Fixed: 688141
2016-10-03 16:49:04 -07:00
Jeff Johnson
a7e5eed8ff qcacld-3.0: Polish HDD Green AP implementation
In qcacld-3.0 an attempt is being made to converge on a common set of
methods for each feature.  Update HDD Green AP feature to align with
"<layer>_<feature>_<method>" naming.

In addition relocate the embedded documentation of all public
functions from the .c file to the .h file since it is the interface
that should be documented and not the implementation.

Change-Id: Id6478f80a85b9e7d6abd1949a136c3c8357d49e9
CRs-Fixed: 1072396
2016-10-03 16:49:02 -07:00
Jeff Johnson
67904df7b5 qcacld-3.0: Cleanup HDD LPASS documentation
The recent set of "Refactor HDD LPASS" changes introduced a new set of
public APIs.  Currently these APIs have documentation entries in both
the header file and in the source file.  This will result in redundant
entries when documentation is generated from the files.  Since public
APIs should document their interface and not their implementation,
remove the documentaton entries in the source file, leaving just the
ones in the header file.

Change-Id: Idcd4c35d74dc79b0a8440b03084420f4b40ebae5
CRs-Fixed: 1070700
2016-10-03 16:49:00 -07:00
Jeff Johnson
c875e24d7e qcacld-3.0: Refactor HDD LPASS "target config" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the "target
config" logic such that the actual implementation is in the lpass
feature file.

Change-Id: I2fb40fc2d0276bfad9f79f340895b7d23c8a9d5d
CRs-Fixed: 1070700
2016-10-03 16:48:58 -07:00
Jeff Johnson
b8bf907c73 qcacld-3.0: Refactor HDD "is lpass supported?" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the "is
lpass supported?" logic such that the actual implementation is in the
lpass feature file.

Change-Id: If54961eebc97951985770cdad813d6fbbc3953f9
CRs-Fixed: 1070700
2016-10-03 16:48:49 -07:00
Jeff Johnson
9078bdcb27 qcacld-3.0: Refactor HDD LPASS "populate CDS config" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the
"populate CDS config" logic such that the actual implementation is in
the lpass feature file.

Change-Id: I3dada0d446a994862f70392f8ebf5911bda583da
CRs-Fixed: 1070700
2016-10-03 16:48:47 -07:00
Jeff Johnson
7139669405 qcacld-3.0: Refactor HDD LPASS "connect" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the
"connect" logic such that the actual implementation is in the lpass
feature file.

Change-Id: Iac7bb28cbf6c1b361cf95f1eccba507cca0d5ad3
CRs-Fixed: 1070700
2016-10-03 16:48:45 -07:00
Jeff Johnson
cef59bbc3b qcacld-3.0: Refactor HDD LPASS "disconnect" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the
"disconnect" logic such that the actual implementation is in the lpass
feature file.

Change-Id: I7250582c8e0ba7423babfd6acfd23ff492d05037
CRs-Fixed: 1070700
2016-10-03 16:48:42 -07:00
Jeff Johnson
2ae6f714b0 qcacld-3.0: Refactor HDD LPASS "interface mode change" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the
"interface mode change" logic such that the actual implementation is
in the lpass feature file.

Change-Id: I7be1719f6b0f4ed69d60dbb1c50dab63ca3d768a
CRs-Fixed: 1070700
2016-10-03 16:48:13 -07:00
Jeff Johnson
f7f66f0baf qcacld-3.0: Refactor HDD LPASS "stop" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the "stop"
logic such that the actual implementation is in the lpass feature
file.

Change-Id: I53bd57e2687e0d6fa2cb11bd34e19ee7eedb7969
CRs-Fixed: 1070700
2016-10-03 16:48:11 -07:00
Jeff Johnson
9afc501027 qcacld-3.0: Refactor HDD LPASS "start" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the "start"
logic such that the actual implementation is in the lpass feature
file.

Change-Id: Idc7ed03abd35616d2a7bfa4a74aaec9898f9dc8e
CRs-Fixed: 1070700
2016-10-03 16:48:09 -07:00
qcabuildsw
347e3fd4fd Release 5.1.0.28Q
Release 5.1.0.28Q

Change-Id: I1b11b8272f1e2a368bc1626cd71f207bf84e5604
CRs-Fixed: 688141
2016-10-03 16:48:07 -07:00
Poddar, Siddarth
4acb30a8d3 qcacld-3.0: Add new index in SME AC type
Since AC/UP table is 4 entries long and linux AC queue has 5 entries,
packets coming for new queue are going out of bound.

Add changes to add one more index in SME AC type to handle this.

Change-Id: Ifaeb6f2c68177887759c3582dd7bc6ff56673d7d
CRs-Fixed: 1064813
2016-10-03 16:48:03 -07:00
Poddar, Siddarth
49fb4d74b6 Revert "qcacld-3.0: Store events in pktlog buffer when Pktlog is enabled by default in INI"
This reverts commit Id0b7dd6b4573147eef9b80b57bc78284e52807ec.

This change is not required anymore as now vendor related pktlog
enable/disable command will be handled via flag in wifi start log
structure.

Change-Id: I82f32d3d8021361e92d67a53624a1d5d027fd9b8
CRs-Fixed: 1072584
2016-10-03 16:48:00 -07:00
qcabuildsw
c665784a69 Release 5.1.0.28P
Release 5.1.0.28P

Change-Id: I42e06f4cc6c96243f5481fd298ca7dc2e639ba70
CRs-Fixed: 688141
2016-10-03 16:47:49 -07:00
Arunk Khandavalli
07ec8f6eda qcacld-3.0: wait for driver recovery to complete before driver unload
As part driver shutdown cds recovery inprogress is set and it is cleared
once the driver recovery is completed. In the case of the SAP ssr
network manager tries to unload/reload once the network queues/carrier
is turned off. In the module exit the driver is unregistering the
driver ops because of which platform driver is not able to invoke the
re-init of the driver and re-init completed flag is never set.
Once the driver unregisters with platform driver it invokes the
remove function in which driver is waiting infinitely for the
reinit to complete.

To mitigate the issue wait for driver recovery to complete before starting
the driver unload.

Change-Id: I1879f7dc4b09d3eef6475252f6209339351c5737
CRs-Fixed: 1072677
2016-10-03 16:47:46 -07:00
Selvaraj, Sridhar
353be2f00d qcacld-3.0: Invoke LFR3 roaming on reception of prev_bssid in connect
When supplicant issues connect with prev_bssid set, it expects the
driver to do reassociation instead of disconnect and connect.

This fix checks if prev_bssid is set and bssid/bssid_hint, channel/
channel_hint parameters are present in connect and if yes, invokes LFR3
roaming.

Change-Id: I8d4d29086a205563061bb155a1298de91839cbec
CRs-Fixed: 1071581
2016-10-03 16:47:16 -07:00
qcabuildsw
ca346b4819 Release 5.1.0.28O
Release 5.1.0.28O

Change-Id: I094b9f5a31137eecaea360e65c80cc9143254afc
CRs-Fixed: 688141
2016-10-03 16:43:29 -07:00
Arunk Khandavalli
4cc97a9b18 qcacld-3.0: set global context to NULL only when all the cleanup is completed
In cds_deint, cds global context is set to NULL and then cleanup handlers of
memory/timer/nbuf manager's are invoked. During the cleanup these handlers
use QDF_TRACE to print the cleanup information which internally tries to
get the global context resulting in not clean unload of driver.

To migitate the issue set global context to NULL once the clean up of
all handlers is completed cleanly.

Change-Id: Ic58962dfd543020d79cabd7b646e483c4f7961f2
CRs-Fixed: 1067340
2016-10-03 16:43:26 -07:00
qcabuildsw
1e74c220de Release 5.1.0.28N
Release 5.1.0.28N

Change-Id: I24f1df691bef136a9e031eaae630637f4cec929e
CRs-Fixed: 688141
2016-10-03 16:43:25 -07:00
Naveen Rawat
8cc23b0d9a qcacld-3.0: Update host DBS policy manager in roaming operations
Firmware DBS mode is updated during firmware based roaming. Same change
is reflected in the host policy manager. Process hw_mode TLV in roam sync
indication event. Update cds concurrency policy after roaming. Handle
exceptions for ROAM_ABORT and HO_FAIL conditions.

Change-Id: I826c6766f73441256e5946d3167966e645f23430
CRs-Fixed: 1044336
2016-10-03 16:43:23 -07:00
qcabuildsw
5387b81ed9 Release 5.1.0.28M
Release 5.1.0.28M

Change-Id: I0b7c92495155593c3439eb07711e2355214a808d
CRs-Fixed: 688141
2016-10-03 16:43:22 -07:00
Naveen Rawat
a410c5a9c2 qcacld-3.0: Send self HT/VHT caps per band IE at hdd_init_station_mode
In function lim_send_ht_vht_ie per band HE/VHT IE being sent to firmware
are being populated as per hardware mode (DBS/Non-DBS). Change that to
absolute self HT/VHT capability.

Change-Id: I3e74ffb89fcdc2903ecaa3c1bb3e4aeffd4f8f35
CRs-Fixed: 1069032
2016-10-03 16:43:20 -07:00
qcabuildsw
cfd09e495f Release 5.1.0.28L
Release 5.1.0.28L

Change-Id: I28a3bd264ff928bffac46e2e7a7e2dbb95104212
CRs-Fixed: 688141
2016-10-03 16:43:19 -07:00
Hanumanth Reddy Pothula
7d51b1d1fd qcacld-3.0: Reject same con_mode change request from the user
In the present implementation driver directly switches to con_mode
requested by user eventhough it is in the same mode as requested by
the user. Also, con_mode_handler relies on the station adapter
to switch between modes, if current con mode is other than STA mode
then handler returns failure, without processing con mode change.

In con mode handler add check if user trigger con mode is same as
the current con mode, as driver is already in same mode and get
valid adapter context based on con mode.

Change-Id: If7ee95f7ce5c2e6f85c1245bdf4cdfa3d0f16d53
CRs-Fixed: 1069408
2016-10-03 16:43:16 -07:00
qcabuildsw
4759877dbf Merge "Release 5.1.0.28K" into wlan-cld3.driver.lnx.1.1-dev 2016-10-03 15:21:56 -07:00
Service qcabuildsw
bf189c2985 Merge "qcacld-3.0: Enable gExtScanEnable by default" into wlan-cld3.driver.lnx.1.1-dev 2016-10-03 15:16:50 -07:00
qcabuildsw
2cafbf0384 Release 5.1.0.28K
Release 5.1.0.28K

Change-Id: Ida143b9dae3ed0bd12c29626899df302fd4668f4
CRs-Fixed: 688141
2016-09-29 19:22:49 -07:00
Arif Hussain
8fba6693aa qcacld-3.0: Enable gExtScanEnable by default
INI support to enable/disable extscan is added recently and
by default it is disabled. Make it enable by default.

Change-Id: I4cd10915aa0d99db233bf8813e15abfc49539594
CRs-Fixed: 1071385
2016-09-29 19:22:48 -07:00
Agrawal Ashish
467dde4b12 qcacld-3.0: Implement vendor command to avoid freq in SAP
qcacld-2.0 to qcacld-3.0 propagation

Add support for vendor command which ask the driver
to restart the SAP if SAP is on unsafe channel.
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY is used to send
driver to restart SAP device if SAP is on any unsafe channels.
Upon receiving this command, driver will restart the SAP device
if SAP is operating on any of one the unsafe channels.

Change-Id: I187a6e0c9f3eaa96c740e50c332a7aba5796dc74
CRs-Fixed: 998048
2016-09-28 21:21:54 -07:00
Agrawal Ashish
21ba257842 qcacld-3.0: Implement vendor command for STA ROAM POLICY
qcacld-2.0 to qcacld-3.0 propagation

Add support for vendor command which informs the driver about
sta roam policies about dfs mode and unsafe channels.
QCA_NL80211_VENDOR_SUBCMD_STA_CONNECT_ROAM_POLICY sends
QCA_WLAN_VENDOR_ATTR_STA_DFS_MODE &
QCA_WLAN_VENDOR_ATTR_STA_SKIP_UNSAFE_CHAN
attributes to driver to skip scan channels for station
connection or roaming.
If QCA_WLAN_VENDOR_ATTR_STA_DFS_MODE is disabled, station will skip
dfs channels in scanning.
If QCA_WLAN_VENDOR_ATTR_STA_SKIP_UNSAFE_CHAN is disabled, station
will skip unsafe channel in scanning.

Change-Id: I33dfa174d218a2f39fec3ffc240dad793b72b14b
CRs-Fixed: 999169
2016-09-28 21:21:07 -07:00
Agrawal Ashish
6563461fa7 qcacld-3.0: Implement vendor command for ACS policy
qcacld-2.0 to qcacld-3.0 propagation

Add support for vendor command which informs the driver about the
ACS policy.
QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY is used to inform driver about
ACS policies.
QCA_WLAN_VENDOR_ATTR_ACS_DFS_MODE attribute tells if DFS channel
should be enabled or disabled in ACS.
QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL attribute provides channel number to SAP
module to skip ACS and use this channel as operating channel.

Change-Id: I1ba69ed8fdf1c56a90e857054c725b830293d6bf
CRs-Fixed: 997433
2016-09-28 10:14:15 -07:00
qcabuildsw
727ffac40b Release 5.1.0.28J
Release 5.1.0.28J

Change-Id: I24dc5796f1be474c13cc81c5650690477375b1e8
CRs-Fixed: 688141
2016-09-28 09:41:00 -07:00
Krunal Soni
499d364340 qcacld-3.0: Fix dwell-time when 2G-SAP is active and DBS is supported
Old generation of projects, which had only one MAC, are restricted to
use 28ms of fix active and passive dwell time when SAP session is active
but with new generation of projects, which can have two MACs, are
permitted to use longer active and passive dwell time when SAP session
is active on 2G band and DBS is supported.

Change-Id: I2638d9b7a3677c3f0b329ed8109d01baa2cffd68
CRs-Fixed: 1071353
2016-09-28 09:40:21 -07:00
Krunal Soni
5c39016d59 qcacld-3.0: Update CFG after taking intersection of INI & hw caps
Current driver is updating HT & VHT RX LDPC cap in CFG based on INI
only which is not correct.
Take the intersection of INI items and hw caps for HT & VHT RX LDPC and
update the CFG accordingly.

Change-Id: Ibef165b61c2242d8fec6da7f7a2ce3e8d5c5aa11
CRs-Fixed: 1069659
2016-09-28 09:38:53 -07:00
Krunal Soni
df0f8742c0 qcacld-3.0: Refactor few APIs related to updating config in HDD
Refactor following HDD APIs to match coding standard:
hdd_update_vht_cap_in_cfg
hdd_update_ht_cap_in_cfg
hdd_update_config_dat

Change-Id: I0da05cad92a558aa4ca5dc585d80adb3a8ea9f1e
CRs-Fixed: 1069659
2016-09-28 09:37:54 -07:00
Krunal Soni
6c7c39fd27 qcacld-3.0: Reorganize VHT caps from hdd_update_config_dat API
Reorganizing VHT caps from hdd_update_config_dat API before refactoring
it.

Change-Id: Id9b514590185f331c7437d5e20259b14411a40dc
CRs-Fixed: 1069659
2016-09-28 09:36:56 -07:00
Krunal Soni
52198e44db qcacld-3.0: Reorganize HT caps from hdd_update_config_dat API
Reorganizing HT caps from hdd_update_config_dat API before refactoring
it.

Change-Id: I3ec667873952f1a4f2ce8414960b7d936fc93d90
CRs-Fixed: 1069659
2016-09-28 09:35:08 -07:00
qcabuildsw
71c0c2b698 Release 5.1.0.28I
Release 5.1.0.28I

Change-Id: I6b4301cad3754dc7cda85f49f7aaebb0896e6a73
CRs-Fixed: 688141
2016-09-27 20:14:06 -07:00
qcabuildsw
4a03c3c1ed Release 5.1.0.28H
Release 5.1.0.28H

Change-Id: I00b5dcc0bf86e7b829cef4703821103ea8f8ffd8
CRs-Fixed: 688141
2016-09-26 15:04:21 -07:00
Yuanyuan Liu
f97e822df4 qcacld-3.0: Use PLD API to get SOC serial number
Socinfo API is not a standard system API. Hence, use PLD API to get
SOC serial number instead of calling socinfo API directly to enhance
driver portability.

Change-Id: I1d673d2f3b0066f4e05f2f465abc8a6cad7a1f8f
CRs-Fixed: 1069480
2016-09-26 15:04:21 -07:00
qcabuildsw
8716fb891b Release 5.1.0.28G
Release 5.1.0.28G

Change-Id: I3b13a9f1c856b13ac5e0a45134b7b74f08cd4f0e
CRs-Fixed: 688141
2016-09-26 14:05:16 -07:00
Naveen Rawat
3ca7483971 qcacld-3.0: Fix NSS being sent to firmware
Send NSS value to firmware in update_nss as received from AP
in OTA frame, VHT Operation notifcation IE.

Change-Id: Iad92cc3ce634b69397666f574917b5254a73dcda
CRs-Fixed: 1070224
2016-09-26 14:05:13 -07:00
qcabuildsw
994d423a61 Release 5.1.0.28F
Release 5.1.0.28F

Change-Id: I6fa4708d7bbb66697dfb8c486ae2703c50afc79d
CRs-Fixed: 688141
2016-09-26 12:24:27 -07:00
Selvaraj, Sridhar
9a9266eac5 qcacld-3.0: Start BSS on operating band based on ACS hw mode
qcacld-2.0 to qcacld-3.0 propagation.

Currently, SAP start's on 2.4ghz channels on detecting unsafe
channels even though operating band ACS hw mode is configured
on 5ghz channels.

Fix is to start BSS on band based on ACS hw mode

Change-Id: I210937b4b464c408d5a22c348c028fa9a11b2142
CRs-Fixed: 1005327
2016-09-26 12:24:26 -07:00
qcabuildsw
ff259891b0 Release 5.1.0.28E
Release 5.1.0.28E

Change-Id: Ied6f8ee4c84b71ead829d89cdef74a71b6fccb46
CRs-Fixed: 688141
2016-09-26 04:49:41 -07:00
Komal Seelam
498a0cd665 qcacld-3.0: Optimize WoW Wakelock usage in Runtime PM
propagation from qcacld-2.0 to qcacld-3.0.

FW sends NACK for WOW command to indicate Host to abort on going
suspend. Host prevents suspend by holding a wakelock for 1sec.
The wakelock prevents APPS supsend, but doesn't have impact on
Runtime PM. Hence Skip Holding Wakelock when NACK is recieved
in Runtime PM.
And Log the runtime stats when link resume fails.

Change-Id: I6d9385565c6d06a082e226d5211c733d124bd3a7
CRs-Fixed: 1053252
2016-09-26 04:49:41 -07:00
Komal Seelam
78ff65a8c6 qcacld-3.0: Add NL event to indicate SSR shutdown is triggered
propagation from qcacld-2.0 to qcacld-3.0.

On Dual-WiFi Platforms, Radio Device 1 (R1 - SDIO interface) should
be functional only if Radio Device 0 (R0 - PCIe interface) is active.
If SSR is indentified on R0, indicate userspace application to unload
R1 on this event and Reload R1 once R0 SSR and reload is complete.

CRs-Fixed: 1046397
Change-Id: I8a06b569fe536bb93dbb37bdb289295bfce62f6e
2016-09-26 04:49:39 -07:00
qcabuildsw
e492bfefbf Release 5.1.0.28D
Release 5.1.0.28D

Change-Id: I15e10bc6e2c7bbdde44b9d8cd4b4f57e7816a2d5
CRs-Fixed: 688141
2016-09-25 21:47:25 -07:00
Archana Ramachandran
31b5b65aba qcacld-3.0: Reduce the log level of p2p scan messages
Change the log level of p2p scan messages from error
to correct log level since they are not error messages.

CRs-Fixed: 1069559
Change-Id: I68d5f6addc53e76536a989cfa7bf131f20b8dcd2
2016-09-25 21:47:25 -07:00
qcabuildsw
e95a6cbb1b Release 5.1.0.28C
Release 5.1.0.28C

Change-Id: I1288b3692e9f713fc6482b7631f21192765a8ab6
CRs-Fixed: 688141
2016-09-24 13:03:51 -07:00
Mukul Sharma
8d2d9ecdca qcacld-3.0: Cache ARP/NS offload request at wma layer
qcacld-2.0 to qcacld-3.0 propagation

As Current WMI interface need both the ARP/NS configuration
in single command. To support active offload host need to
cache the ARP/NS at wma layer so host can fill the other
request and configure down to firmware complete request
(ARP+NS).

Change-Id: Ie0a57d216379817ff0ae48f4f582c9108e8ecca1
CRs-Fixed: 1059739
2016-09-24 13:03:50 -07:00
qcabuildsw
4133c00bec Release 5.1.0.28B
Release 5.1.0.28B

Change-Id: I7badaed9a12e97e114a0b9d87b97d16b52a7654d
CRs-Fixed: 688141
2016-09-23 19:20:46 -07:00
Jeff Johnson
cb331d92d9 qcacld-3.0: Converge gScanAgingTime & gScanResultAgeCount
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entries:
    gScanAgingTime=30
    gScanResultAgeCount=1

The associated default values within the driver are:
    define CFG_SCAN_AGING_PARAM_DEFAULT (60)
    define CFG_SCAN_RESULT_AGE_COUNT_DEFAULT (3)

These are obviously divergent and should be converged.  Since all
recent testing has used the default WCNSS_qcom_cfg.ini, converge on
the values defined there.

Change-Id: I4b75590c44a94b9b95fbd47cf147137d4f695e51
CRs-Fixed: 1070145
2016-09-23 19:20:45 -07:00
qcabuildsw
5e2f8f2345 Release 5.1.0.28A
Release 5.1.0.28A

Change-Id: Ic84ce2ad98ccc5ff8d11883edd041c934c1a32d3
CRs-Fixed: 688141
2016-09-23 18:29:01 -07:00
Dustin Brown
2d228235da qcacld-3.0: Improve suspend/resume logging
Ensure logging messages in the suspend/resume paths use hdd_err() for failure
and hdd_info() for success. Also, evaluate existing messages, and polish if
appropriate.

Change-Id: I8b9509cf631058602ad6e8cd06a013af63624f00
CRs-Fixed: 1070223
2016-09-23 18:29:00 -07:00
Dustin Brown
6126946bbb qcacld-3.0: Increase the number of MC filters to 32
Currently the max number of MC filters is set to 10, and MC address
filtering is not being properly disabled when this maximum is exceeded.
Increase the MC filters to 32, and disable MC filtering when the
maximum is exceeded.

Change-Id: I124b616be726abfe0739ca539d97965161285da9
CRs-Fixed: 1068479
2016-09-23 18:28:59 -07:00
qcabuildsw
bcbc55ce35 Release 5.1.0.28
Release 5.1.0.28

Change-Id: I9b70bf83c26ba7bc79707529e5e991bca0dc3923
CRs-Fixed: 688141
2016-09-23 17:39:38 -07:00
Hanumanth Reddy Pothula
c1c4d2b55b qcacld-3.0: While starting adapters, on interface down, go to next adapter
During re-init of SSR, host restarts adapters one by one, by
traversing adapterNode link-list, whose all interfaces are up.
But if any of adapter's interface is down, then driver will be
in infinite loop as its not traversing to next adapter node.

So, on adapter's interface down, go to next adapter node to
break infinite loop.

Change-Id: I334a6304578d833485b58b2f6f494b4556c781ed
CRs-Fixed: 1069498
2016-09-23 17:39:37 -07:00
qcabuildsw
8d9020fca4 Release 5.1.0.27Z
Release 5.1.0.27Z

Change-Id: I4bbba75869fac102b6646c48323624b080faafa1
CRs-Fixed: 688141
2016-09-23 15:43:37 -07:00
Srinivas Dasari
947abd7a4d qcacld-3.0: Allow querying for DFS capability even if iface is not up
wpa_supplicant queries for DFS capability as part of
initialization and the interface is not up by then. So, allow
userspace components to query for the same even if the interface
is not up.

Change-Id: I2b8dc04260e1cbe007fda4be7f1b8aa196ae7a79
CRs-Fixed: 945597
2016-09-23 15:43:37 -07:00
qcabuildsw
11fdbf0921 Release 5.1.0.27Y
Release 5.1.0.27Y

Change-Id: Id7a1ea09f6d57939fc37dead636f0970573dea2d
CRs-Fixed: 688141
2016-09-23 03:20:20 -07:00
Yuanyuan Liu
16a556259b qcacld-3.0: Clean up PLD source files and remove unused function
Clean up PLD source file by moving one-line function calls to
header file and make it static inline. Also, remove unused function.

Change-Id: Ibaa7357db4ac305f0bab9d8ad2f7dfe9351fda7d
CRs-Fixed: 1070075
2016-09-23 03:20:19 -07:00
qcabuildsw
c986846672 Release 5.1.0.27X
Release 5.1.0.27X

Change-Id: I90ff63d67b37f2edc12f98b3d39a0403e3d06ec2
CRs-Fixed: 688141
2016-09-23 02:21:18 -07:00
Rajeev Kumar
fb02a5e3ed qcacld-3.0: Fix kernel panic during driver load failure
In low memory conditions TX/RX histogram memory allocation failure
is not handled properly and because of it 2 kernel panics are observed.
1st kernel panic is caused when freed HDD context is de-referenced in
hdd_wlan_startup and 2nd kernel panic is caused by kernel wake lock
list corruption because WLAN driver during load failure corrupted kernel's
wake lock list.

As part of this fix make sure TX/RX histogram memory allocation failure
is handled gracefully by properly sending failure reason code to
hdd_wlan_startup.

Also in order to make fix complete and avoid any other kernel panic, deinit
HDD context properly by freeing all HDD created wake locks such that when
HDD context is freed its wake locks are not poisoned to 0x6b6b6b6b6b6b6b6b
(SLUB magic pattern) pattern by kernel and hence corrupting kernel wake lock
list.

This fix ensures driver load failure caused by TX/RX histogram allocation
failure is handled gracefully in low memory conditions without leading to
any kernel panic.

Change-Id: I17a46c346402642f39e6548cd40bedd1f7ff96a4
CRs-Fixed: 1069014
2016-09-23 02:21:17 -07:00
qcabuildsw
58aae0e57e Release 5.1.0.27W
Release 5.1.0.27W

Change-Id: Ibc225498c14cca3d46ab0e86157bc368f027171f
CRs-Fixed: 688141
2016-09-23 01:22:51 -07:00
Krunal Soni
edb38f950f qcacld-3.0: Disable all dual mac features when DBS is disabled from INI
Current driver doesn't send WMI command to notify firmware to disable
all dual mac features when DBS is disabled from INI.

Disable dual mac features including all scan policies when DBS is
disabled from INI.

Change-Id: Id452c1de795dbeb7dc897a71e1578731d9dad2f9
CRs-Fixed: 1069650
2016-09-23 01:22:50 -07:00
qcabuildsw
17159c5cb8 Release 5.1.0.27V
Release 5.1.0.27V

Change-Id: I9bb602e481810dabd7bf71f12d33ccf7fcf78668
CRs-Fixed: 688141
2016-09-22 16:27:39 -07:00
Kiran Kumar Lokere
1d4094ef44 qcacld-3.0: Add support to add VHT op mode IE
Add support to include VHT opmode IE in association request
frames when the STA is connecting to VHT AP and the connection
has SMPS enabled.

Change-Id: Id18a6356ac6f08d1846abe42f84713fddef984dc
CRs-Fixed: 1062430
2016-09-22 16:27:39 -07:00
Kiran Kumar Lokere
92fe759c38 qcacld-3.0: Set the correct DTIM period to FW
DTIM period is configured during add_bss and is taken from scan
cache bss descriptor.Scan cache can have both probe response and
beacon frames, but the TIM IE is present only in beacon frames.
If scan cache has the probe response frame then DTIM values is
configured as 0.
Get the DTIM period value from beacon and configure it to FW.

Change-Id: I2b92e5e133a70d33987a50b6113681142bc4896a
CRs-Fixed: 1067558
2016-09-22 16:27:37 -07:00
qcabuildsw
48863603be Release 5.1.0.27U
Release 5.1.0.27U

Change-Id: I48e7bfc2ba3eb1fe2f2f36ffa825e05867b2153b
CRs-Fixed: 688141
2016-09-22 03:26:36 -07:00
Selvaraj, Sridhar
e01e0732d8 qcacld-3.0: Move HT/VHT parameter from PEsession to Station dph entry
Move HT/VHT parameter from PEsession to Station dph entry which are
introduced as part of wlan data logging.

Change-Id: Icd9258c32a82d3842708ac92b498106d870d7f4f
CRs-Fixed: 1053747
2016-09-22 03:26:35 -07:00
qcabuildsw
656a19e0fe Release 5.1.0.27T
Release 5.1.0.27T

Change-Id: I9305dae41cd392511b7d0ac067852f5435df1a99
CRs-Fixed: 688141
2016-09-21 23:25:42 -07:00
Kiran Kumar Lokere
78790207b0 qcacld-3.0: Remove the per band chain mask support flag
Remove the per band chain mask support flag as the chain mask
configuration by user is not supported. And set the HT and VHT
IEs to FW unconditionally.

Change-Id: Ic29ec1019a7d83c7080409096ec41e827c4009fb
CRs-Fixed: 1068108
2016-09-21 23:25:41 -07:00
qcabuildsw
dc0dcce9c3 Release 5.1.0.27S
Release 5.1.0.27S

Change-Id: I7b70619a2d318630119a61750d1c028d334e569b
CRs-Fixed: 688141
2016-09-21 18:52:16 -07:00
Dustin Brown
5e79c10be7 qcacld-3.0: Cleanup MBSSID compilation flag (phase 4)
The WLAN_FEATURE_MBSSID conditional compilation flag is no longer
needed since MBSSID is a required feature. Remove this flag and
any alternate code referenced in the conditional compilation blocks.
In phase 4, completely remove the MBSSID compilation flag.

Change-Id: I9c74ae624f1db39f13c62b148396a3c8ac49ad88
CRs-Fixed: 1067450
2016-09-21 18:52:15 -07:00
qcabuildsw
b51dee275f Release 5.1.0.27R
Release 5.1.0.27R

Change-Id: I1b6ba10970fb24e5943fd9dcae64758bf1a3dbe8
CRs-Fixed: 688141
2016-09-21 17:34:19 -07:00
Yun Park
74127cf1d1 qcacld-3.0: Fix FW crash when STA_DISCONNECT in STA only mode
FW crashes when disconnect STA interface in STA only mode, since
sending WDI disable command while it is not enabled yet.
WDI disable should be sent only when STA disconnected while SAP
client is connected.
Fix by adding check if SAP client is connected in prior to send
WDI disable command to FW.

Change-Id: Ia7f46e0567d4d5d6f7efe78be5ab5b007419210d
CRs-fixed: 1068439
2016-09-21 17:19:58 -07:00
qcabuildsw
be86ef1d90 Release 5.1.0.27Q
Release 5.1.0.27Q

Change-Id: I0e8e389badfaf1b0757e0f6aa76d8df69258982b
CRs-Fixed: 688141
2016-09-21 17:12:33 -07:00
qcabuildsw
5f81e97868 Release 5.1.0.27P
Release 5.1.0.27P

Change-Id: Ia89d8a5a4e8deb35256e579bf562af56ae89ebea
CRs-Fixed: 688141
2016-09-21 17:12:02 -07:00
Masti, Narayanraddi
27fbec7970 qcacld-3.0: Fix crash in TDLS functionality
qcacld-2.0 to qcacld-3.0 propagation

Currently, tdls lock has not been acquired and if tdls peer or
tdls context freed in other context then it will lead to crash.
Fix is to ensure that the tdls lock is acquired for tdls peer
list and tdls context.

Change-Id: I52c3e7b67c7f61160c54a1a6688db09f0137b7e1
CRs-Fixed: 945302
2016-09-21 17:11:57 -07:00
qcabuildsw
aaf16a4c5e Release 5.1.0.27O
Release 5.1.0.27O

Change-Id: I469b84e41fef8c35fbe405933d85681b8c381c2e
CRs-Fixed: 688141
2016-09-21 17:09:37 -07:00
Jeff Johnson
860e124874 qcacld-3.0: Converge gEnable5gEBT default values
There is a desire to remove unnecessary items from the default version
of WCNSS_qcom_cfg.ini that is shipped to customers. Currently the
default WCNSS_qcom_cfg.ini contains the following entry:
gEnable5gEBT=1

The default value within wlan_hdd_cfg.h is:
define CFG_PPS_ENABLE_5G_EBT_FEATURE_DEFAULT (0)

Since this feature improves power consumption it should be enabled by
default, so update the default value in wlan_hdd_cfg.h.

Change-Id: I585cb06f227ee4575b06165c751a93fb93c2fad6
CRs-Fixed: 1068914
2016-09-21 17:09:25 -07:00
qcabuildsw
abbe2fb83a Release 5.1.0.27N
Release 5.1.0.27N

Change-Id: I883b78b6a43d146743a3c1fdd2231aca405f129e
CRs-Fixed: 688141
2016-09-21 17:09:15 -07:00
Ankit Gupta
d66a881e08 qcacld-3.0: Align return value check for lim_cmp_ssid
lim_cmp_ssid api returns zero when comparison ssid matches
else returns non zero. Checking return value with true/false
can cause confusion and errors.
Replace the return value check from true/false to
zero/non-zero values.

Change-Id: Id22560cb4c2289431995dab3087b4eb24546a8bf
CRs-Fixed: 1067454
2016-09-21 17:09:10 -07:00
Ankit Gupta
a507601be7 qcacld-3.0: Align return value check for qdf_mem_cmp
qdf_mem_cmp api returns zero when comparison string matches
else returns non zero. Checking return value with true/false
can cause confusion and errors.

Replace the return value check from true/false to
zero/non-zero values.

Change-Id: I485d69a4bf85d1e6273ea780af6d0423c3910686
CRs-Fixed: 1066946
2016-09-21 17:08:59 -07:00
Ankit Gupta
4316b7a887 qcacld-3.0: Fix check while processing lim_ndp_delete_peers
If the peer is not present in the deleted list,
this function frees the resources for that peer and
add it to the deleted list. If the peer is already
in the deleted list, do nothing and continue to scan
for other peers. Incorrectly checking the return value
qdf_mem_cmp make the above functionality broken.

Fix the check for return value of qdf_mem_cmp to
allow the proper processing of the peers in deleted list.

Change-Id: Ica97b3bcaa651e2ca5935beb1381e9fc5b196e8a
CRs-Fixed: 1067411
2016-09-21 17:08:50 -07:00
qcabuildsw
8f5b5bd9f0 Release 5.1.0.27M
Release 5.1.0.27M

Change-Id: Ib8468fd7f87d94c58aafad73bef0ed7df7872c86
CRs-Fixed: 688141
2016-09-21 17:08:41 -07:00
Ravi Joshi
b89e7f7e3e qcacld-3.0: Check consistency in throughput before setting delack
Integration from cld-2.0 to cld-3.0.

Currently the throughput is measured every 100 ms. Delack is set to 20
if throughput for this interval is greater then threshold (~57 Mbps).
In the case of congestion control, tcp may take longer duration for
rampup. In this change, throughput is checked for consistency for
about three seconds and then tcp delack is set to 20.

CRs-Fixed: 1028085
Change-Id: I1a4e9be3407ac426a314e1192d0e1d315e1899e0
2016-09-21 17:08:35 -07:00
qcabuildsw
31e8e63de9 Release 5.1.0.27L
Release 5.1.0.27L

Change-Id: Ica5b6b225e3e2a2a361a6cc18afd2c6518fa186a
CRs-Fixed: 688141
2016-09-21 17:08:27 -07:00
Nitesh Shah
597745227b qcacld-3.0: Allow SAP(DFS) + STA(2.4) in DBS capable device
If SAP is operating in DFS channel, and STA comes up in 2.4
GHz band, then irrespective of DBS capability, SAP switches to
STA's channel for SCC.

The enhancement is to allow SAP to operate in DFS channel,
and restrict the preferred channel list for STA with 2.4 GHz
channel, if the device is DBS capable.

Change-Id: I548889265443c391d07d00951f6112983edafbcd
CRs-Fixed: 1067720
2016-09-21 17:08:20 -07:00
qcabuildsw
b89bceb4d8 Release 5.1.0.27K
Release 5.1.0.27K

Change-Id: I66faa07a43f6d86159169f7562063d7bf26cc6de
CRs-Fixed: 688141
2016-09-21 17:08:12 -07:00
Yuanyuan Liu
137755f159 qcacld-3.0: Provide PLD APIs for SMMU operations
Proivde PLD wrapper APIs for getting SMMU mapping
context and mapping SMMU to a specific physical address.

Change-Id: I3feb61b26c839547e4d050f62963e64f5ca062a7
CRs-Fixed: 1057714
2016-09-21 17:08:03 -07:00
Yuanyuan Liu
5ef6bfef5b qcacld-3.0: Add PLD ATHDIAG read/write support
Add PLD wrapper for platform athdiag read/write.
HIF will call these two functions when a athdiag read/write
triggered from user space.

CRs-Fixed: 1061837
Change-Id: Ie34c634beaf1cd91e24eca1b7ce5b6444a60393e
2016-09-21 17:07:57 -07:00
qcabuildsw
0c21495a3f Release 5.1.0.27J
Release 5.1.0.27J

Change-Id: I1a5f60b47205029d6e5dbb178f5f862a9bc47150
CRs-Fixed: 688141
2016-09-21 17:07:49 -07:00
Sreelakshmi Konamki
bda5bbfcc6 qcacld-3.0: Do not send RSO_START if bssid set in connect request
qcacld-2.0 to qcacld-3.0 propagation

Host should not allow roaming if bssid is set in connect request
and hence RSO_START should not be sent.

Add changes to not send RSO_START if bssid set in connect request.

Change-Id: I1037c60837a90472fee312e8654197ea7f68702e
CRs-Fixed: 1016886
2016-09-21 17:07:42 -07:00
Mukul Sharma
69c44cd239 qcacld-3.0: Implement Private NL CMD handling for roaming
qcacld-2.0 to qcacld-3.0 propagation

When supplicant issues enable/disable firmware based roaming on the
basis of the Bssid modification in network block (e.g. AutoJoin modify
Network Block), that time middle-ware will issue this pvt cmd to Driver.
Driver need to disable/enable firmware roaming.
(in our current design we can enable firmware roaming by offload scan
to firmware so firmware can scan and find candidate ap when rssi threshold
meet the criteria, same way driver can stop firmware roaming by stop
offload scan to firmware).

Change-Id: I378917d9d56c4d3ef13bfe8c3bf62adc6d5e7aa6
CRs-Fixed: 1012420
2016-09-21 17:07:37 -07:00
qcabuildsw
bdc1eb41ef Release 5.1.0.27I
Release 5.1.0.27I

Change-Id: Ieabbf5e86f92e056d10c81f512cdbd96a492104a
CRs-Fixed: 688141
2016-09-21 17:07:19 -07:00
Selvaraj, Sridhar
fb6f4cd3fc qcacld-3.0: Send supported channels IE, ESE Version IE to FW for LFR3
Currently, host driver adds Supported channels IE, ESE Version IE in
reassociation request initiated from driver. In LFR3, these IE's are
missing in reassociation request frames as it is initiated by FW.

As part of MBO changes, assoc IE's are sent to FW via Roam Scan Offload
command as soon as connection successful. Add the above supported channels
IE and ESE Version IE also while sending assoc IE's to FW via RSO command.

Change-Id: Ic73491d60b532e3b9bb79144599fbe111591f64a
CRs-Fixed: 1061698
2016-09-21 17:07:12 -07:00
Selvaraj, Sridhar
57bb4d03e0 qcacld-3.0: Send driver built assoc IE's to FW for LFR3
Currently, host driver adds RRM IE, Power cap IE in reassociation request
initiated from driver. In LFR3, these IE's are missing in reassociation
request frames initiated by FW.

As part of MBO changes, assoc IE's are sent to FW via Roam Scan Offload
command as soon as connection successful. Add the above RRM IE and Power
Cap IE also while sending assoc IE's to FW via RSO command. For FTM[Fine
Time Measurement] cases, RRM IE's are changed dynamically. Hence, send
the updated RRM IE with other IE's via RSO/Update_cfg command to FW.

Change-Id: Iff5ff961df89d4564a31763257b13811c4f57df4
CRs-Fixed: 1061698
2016-09-21 17:07:05 -07:00
qcabuildsw
f30a650057 Release 5.1.0.27H
Release 5.1.0.27H

Change-Id: Ibb7b2b433dd962bebc78470b707bcd32ace0cfd3
CRs-Fixed: 688141
2016-09-21 17:06:57 -07:00
Yuanyuan Liu
245a3e4380 qcacld-3.0: Update MAC address to FW
Update MAC address to FW if it is provided by host. Otherwise,
MAC address will be out-of-sync between host and FW.

Change-Id: Idcf00d80d6d9e3e39b5a5ccb6d96390c2d883fe6
CRs-Fixed: 1066986
2016-09-21 17:06:51 -07:00
qcabuildsw
428fbd62b3 Release 5.1.0.27G
Release 5.1.0.27G

Change-Id: I75bcec4cdbfe3f48fd3447a28f6332810085de9b
CRs-Fixed: 688141
2016-09-21 17:06:23 -07:00
Dustin Brown
ecfce63fdd qcacld-3.0: Minor cleanup of previous PS timeout change
Some cleanup is needed around a previous code change that reset the
power save timeout when power save is requested from user space.
Perform minor code cleanup, moving a logging statement and removing
a blank line.

Change-Id: Idc656fbaba16e58ef57625b5f9d5de37a191793a
CRs-Fixed: 1066022
2016-09-21 17:06:16 -07:00
qcabuildsw
0aa4b18621 Release 5.1.0.27F
Release 5.1.0.27F

Change-Id: Ia822d3bd4f12975d42c49d3e009f2f84acaff05f
CRs-Fixed: 688141
2016-09-21 17:06:07 -07:00
Rajeev Kumar
25a0b21ce5 qcacld-3.0: WoW pattern id should be unique for each vdev
Current host driver is using default pattern id 0 for various
WoW pattern configuration which is overwriting WoW rules in FW.
WoW pattern id should be unique for each vdev. Same WoW pattern
ID can be used on 2 different vdevs but on same vdev pattern id
for various WoW patterns must be unique. Add fix to make sure
unique pattern id is used for each vdev.

Change-Id: I893044ae50bee44b5e986f3c30967fad601eb057
CRs-Fixed: 1067951
2016-09-21 17:06:02 -07:00
qcabuildsw
c534cf6715 Release 5.1.0.27E
Release 5.1.0.27E

Change-Id: I757f98e4d23359ab21cb28cdfea66270925e25a4
CRs-Fixed: 688141
2016-09-21 17:05:56 -07:00
Arif Hussain
557920fc10 qcacld-3.0: LFR3: Fix roam_synch_in_progress flag set in csr_roam_synch_callback
roam_synch_in_progress is set by default in csr_roam_synch_callback function,
and will be reset only on SIR_ROAM_SYNCH_PROPAGATION roam op_code.

On roam_synch_in_progress set, no roam call back will be called  and  roam
command will not be removed from active list.

If roam_synch_in_progress is set on roam op_code other than SIR_ROAM_SYNCH_PROPAGATION,
roam_synch_in_progress will remain till next roam, till that time no roam commands will be
processed.

To fix this set roam_synch_in_progress only on SIR_ROAM_SYNCH_PROPAGATION roam op_code.
And also add log in csr_roam_set_bss_config_cfg if roam_synch_in_progress is set.

Change-Id: Id50e6f871280bd3eac9f61513db308ea748eec2d
CRs-Fixed: 1064213
2016-09-21 17:05:51 -07:00
qcabuildsw
810f1dccea Release 5.1.0.27D
Release 5.1.0.27D

Change-Id: Ieea278db0c032b9eb9db020160e4ae3e5225c193
CRs-Fixed: 688141
2016-09-21 17:05:42 -07:00
Govind Singh
3fc3f41f40 qcacld-3.0: Remove debug node reference for dropped skb
In rx path replayed mcast packets are dropped and freed,
but debug node reference for dropped skb is not removed.
This is resulting in invalid tracking of allocated netbuf.

Remove debug node reference for dropped skb.

Change-Id: I1e36436dadaefb666c14af57c72876a70b887e88
CRs-Fixed: 1066770
2016-09-21 17:05:36 -07:00
qcabuildsw
7c6c7734e5 Release 5.1.0.27C
Release 5.1.0.27C

Change-Id: I51bf10229d0694d5427bd5ba9147c95b58bd9ffc
CRs-Fixed: 688141
2016-09-21 17:05:20 -07:00
Mukul Sharma
80edc7843e qcacld-3.0: protect mgmt flow in SSR case
qcacld-2.0 to qcacld-3.0 propagation

Fix the race condition, between 2 kernel worker threads
while shutdown is in progress.

Change-Id: I6e71ae55c57dac8c2adb36167783615e218cb481
CRs-Fixed: 834362
2016-09-21 17:05:15 -07:00
Mukul Sharma
c4de4ef6f8 qcacld-3.0: Add SSR protect for ndo hard_start_xmit ops
qcacld-2.0 to qcacld-3.0 propagation

SSR should wait until ndo hard_start_xmit ops is completed.

Change-Id: Ic3148cfb655f87d22c40bca7825809648c7b4b4a
CRs-Fixed: 952660
2016-09-21 17:05:09 -07:00
Mukul Sharma
5ff3c587fb qcacld-3.0: Store WMI version in a global variable
qcacld-2.0 to qcacld-3.0 propagation

Capture WMI version in a global variable for crashscope
to extract WMI logs.

Change-Id: I2f06eaf182bb67dceade397652f801e6311b8f68
CRs-Fixed: 978901
2016-09-21 17:05:00 -07:00
Rajeev Kumar Sirasanagandla
af47474e5f qcacld-3.0: Add cfg ini parameter tgt_gtx_usr_cfg
qcacld-2.0 to qcacld-3.0 propagation

GTX use this parameter to drop TPC and in turn TPC drop is the cause
for mcs rate drop and may happen in higher percentage. This change,
provide a way to select the desired value and reduce mcs-8 usage to
2% from 8%.

Change-Id: I64f05c8b41cf3d360819122a08eca72f3a2c1aed
CRs-Fixed: 1010564
2016-09-21 17:04:54 -07:00
Rajeev Kumar Sirasanagandla
a00060280e qcacld-3.0: Skip channel validation in case of acs
qcacld-2.0 to qcacld-3.0 propagation

As per current implementaion whenever ACS is enabled via
INI all the update beacon from cfg80211 module fails because
sapconfig channel points to AUTO_CHANNEL_SELECT(0).

When driver ACS is enabled skip channel validation to fix
this issue.

Change-Id: Ie3e7d19332629fc860752b2240690fd6a15bb0a2
CRs-Fixed: 977101
2016-09-21 17:04:46 -07:00
Rajeev Kumar Sirasanagandla
60d6ca7a54 qcacld-3.0: Mask the log message which is affecting tput KPI
qcacld-2.0 to qcacld-3.0 propagation

"log buffers are dropped" are consistently printed which
is affecting the tput KPI's.  Masking the same with debug level
which is not enabled by default.

Change-Id: I6e9abc7d65f276d71810aedad9062152035699c0
CRs-Fixed: 956599
2016-09-21 17:04:40 -07:00
Rajeev Kumar Sirasanagandla
9cb32c0867 qcacld-3.0: validate essid length before processing scan req
qcacld-2.0 to qcacld-3.0 propagation

Presently we are not validating the length of the essid received
and directly copying the buffer without size checking.

Perform bound checking before processing the scan req.

Change-Id: I786e4feb67bf039df3d217138a412da54f51787d
CRs-fixed: 890228
2016-09-21 17:04:35 -07:00
Anurag Chouhan
ce6a405adf qcacld-3.0: Add check to Validate hif_ctx
Currently hif_ctx is passed as a parameter in hif_get_hw_info
and hif_bus_reset_resume without any validation check for the
parameter. This change Validates hif_ctx before
dereferencing the hif_ctx.

Change-Id: I17636692863bfdded691594cef40ebe55e262849
CRs-Fixed: 1066838
2016-09-21 17:04:26 -07:00
Sachin Ahuja
feedebab05 qcacld-3.0: Return the cached rssi in get_station during roaming
qcacld-2.0 to qcacld-3.0 propagation

Currently, if get_station is called during roaming, host does
not send the correct rssi.Because of this, supplicant reports
very low rssi to upper layer and handover happens to cellular.
To mitigate this issue, send the cached rssi when get_station
is queried during roaming.

Change-Id: Icceb5839503ccd99e7aef535ee438d072d3a8823
CRs-Fixed: 1055388
2016-09-21 17:04:20 -07:00
Sachin Ahuja
988fd105c5 qcacld-3.0: Abort Scan during IBSS stop adapter
qcacld-2.0 to qcacld-3.0 propagation

After interface down, kernel frees the ongoing scan
request memory and call cfg80211_scan_done.
Now, during IBSS change iface, stop adapter is called
which does not abort the scan. Once the ongoing scan is
done, HDD calls the cfg80211_scan_done for which kernel
has already freed scan req memory and this leads to crash.
Abort the scan during stop adapter for IBSS case also.

Change-Id: Ie53576399926cc3a07e6f66c0f3997b6617f9f04
CRs-Fixed: 1047004
2016-09-21 17:04:14 -07:00
Sachin Ahuja
a69c72a9fb qcacld-3.0: Enhance logging for MC address list
qcacld-2.0 to qcacld-3.0 propagation

Currently, if MC list count is more than mc count that
target can support then host configures only max count that
target can support.Rest of MC addresses are dropped.
Now if host wakes up for any MC packet, there is no way to
identify if MC address was configured to FW or not.
Change the code to print all the MC address list that userspace
has sent to Driver and the MC address list that is sent to FW.

Change-Id: Idd63385a657d1af550cf07bbfe052ce465d30608
CRs-Fixed: 1023043
2016-09-21 17:04:08 -07:00
Selvaraj, Sridhar
88015a1bc0 qcacld-3.0: Fix PMF related propagation error in handling assoc rsp
This changes fixes the qcacld-2.0 tp qcacld-3.0 propagation error
of Change-Id:I4b37d072bc92e003fcfe62ffe8f93f7c185eb6c7. Host driver
doesn't honor the Assoc reject with eSIR_MAC_TRY_AGAIN_LATER status
for non-PMF connection, due to this error.

Change-Id: Ib2defa27ee5c97ada53808d2e24a29b976fe5107
CRs-Fixed: 1067670
2016-09-21 17:03:44 -07:00
Deepthi Gowri
5ba69b744c qcacld-3.0: Purge the scan results by age before posting to upper layer
qcacld-2.0 to qcacld-3.0 propagation

Currently the age out of scan results is ineffective as the aging
timer is started only once the scan results are obtained from
the FW, which would expire in 1 sec, so it could be possible that
the cached scan entries may still persist and may not be aged out
To address this issue, purge the scan results by age, before the
scan results are updated to upper layer.

CRs-Fixed: 997430
Change-Id: Ib70b04f4a720123d21ba820dd3c1e86076083dc9
2016-09-21 17:03:37 -07:00
Deepthi Gowri
93d3147035 qcacld-3.0: Purge old scan entries if max BSS limit reached
qcacld-2.0 to qcacld-3.0 propagation

In the driver, while processing the scan results, if the max
BSS limit is reached, all the newest scan results are dropped
and stale scan results are updated to upper layers.
To address this, remove the oldest scan entry if the max BSS
limit is reached.

Change-Id: Ib85a8a3b66fbf903311002887a3c5c3d10bfbccf
CRs-Fixed: 991417
2016-09-21 17:03:30 -07:00
Agrawal Ashish
afe4ca0324 qcacld-3.0: Check for max num of num_dscp_exceptions in limLogQosMapSet
qcacld-2.0 to qcacld-3.0 propagation
In limLogQosMapSet, dscp_exceptions is max of 21 size but
there is no limit check for num_dscp_exceptions.
Check for max size for num_dscp_exceptions to avoid overflow.

Change-Id: Ia1f64860f924aa0d586b2d0d532183ef9b18f2e0
CRs-Fixed: 933465
2016-09-21 17:03:21 -07:00
Agrawal Ashish
ad16bda716 qcacld-3.0: Check for max number of num_dscp_exceptions in QOS map set
qcacld-2.0 to qcacld-3.0 propagation

In convert_qos_mapset_frame, dscp_exceptions is max of 21 size but
there is no limit check for num_dscp_exceptions.
Check for max size for num_dscp_exceptions.

Change-Id: Id098da5231b4f3e40abe369e52960859091dc200
CRs-Fixed: 931435
2016-09-21 17:03:13 -07:00
Abhishek Singh
cdcc5e7a6f qcacld-3.0: Disconnect the session if the connect channel is not valid
qcacld-2.0 to qcacld-3.0 propagation

If reg domain changes during connection and the connecting channel
is not valid, driver may connect to an invalid channel.

In this case wlan_hdd_cfg80211_update_bss_db will return NULL and
thus sta will not be registered to TL. This will cause RX frames
buffered in TL layer and eventually low resource condition.

To avoid this schedule a disconnect for the session if
wlan_hdd_cfg80211_update_bss_db returns NULL.

Change-Id: I72b62ea7d47f53db55daea5725fa833fd1a45fb8
CRs-Fixed: 1034569
2016-09-21 17:02:58 -07:00