Commit Graph

31238 Commits

Author SHA1 Message Date
Edhar, Mahesh Kumar
4f660677dc qcacld-3.0: Properly update specturum channel list
qcacld-2.0 to qcacld-3.0 propagation

Currently for ACS,one to one correspondence between channel
number and index of Sap specturum structure is desired.

But the correspondence is broken in case of channel in NOL list
or if the DFS channels are not allowed.

In case of channel in NOL list or if DFS channel not allowed,
channel number is incremented but index of structure doesn't change.

As a part of fix, made sure that one to one correspondence is
maintained.

Change-Id: I05cbe92e2657d96e271b402b9fdbe41a32c7080d
CRs-Fixed: 922865
2015-11-23 13:08:11 -08:00
Edhar, Mahesh Kumar
d028db72ad qcacld-3.0: Change to address memory leak
qcacld-2.0 to qcacld-3.0 propagation

As per the current implementation during join timer start failure scenario,
pMlmJoinReq assigned to NULL with out freeing the memory resulting in
memory leak.

change made to release the memory in failure scenario.

Change-Id: I3f37f45129baec76671caff09790bfb70bf01208
CRs-Fixed: 930553
2015-11-23 13:08:11 -08:00
Govind Singh
c5ce2905e5 qcacld-3.0: Free rx_buff_list in htt_detach
qcacld-2.0 to qcacld-3.0 propagation

rx_buff_list is not getting freed in
htt_detach and causing memory leak.
Change-Id: Ia9d6660674c5b4570d337cb66995fc2449145d59
CRs-Fixed: 918223
2015-11-23 13:08:11 -08:00
Govind Singh
d79e134de3 qcacld-3.0: debug info for full reorder offload
qcacld-2.0 to qcacld-3.0 propagation

Log last 1K physical addresses and corresponding virtual addresses of the
Rx buffers.

Change-Id: I2bb4502fdd92b362199b579ec3cceaa691d4691f
CRs-Fixed: 864569
2015-11-23 13:08:11 -08:00
Govind Singh
edc5cda7af qcacld-3.0: Fix STA state handling in case of WEP
qcacld-2.0 to qcacld-3.0 propagation

Handle STA State in hdd_RoamSetKeyCompleteHandler for WEP case.
In WEP case Key are set in following order.
1)Group key
2)Unicast Key
In WEP case STA was moved to AUTHENTICATED prior to
setting the unicast key and it was resulting in sending
few un-encrypted packet. Now STA state will be moved to
AUTHENTICATED after we set the unicast and group
key in WEP case.

Change-Id: I7471bc76b10be31c4a2dbb52286c7f808fa27306
CRs-Fixed: 906555
2015-11-23 13:08:10 -08:00
Naveen Rawat
bace351fef qcacld-3.0: Allow minimum value for dwell time for Ext Scan to be 0
This is qcacld-2.0 to qcacld-3.0 propagation

Currently min time for dwell time for ext scan is non-zero while it
is zero for all other type of scan. This patch makes min value for
dwell time for ext scan as zero and consistent with other scans.

Change-Id: I7b6f3681c56918af7cdc381d25d6b625a5bdbda3
CRs-Fixed: 923458
2015-11-23 13:08:10 -08:00
Naveen Rawat
8928da9791 qcacld-3.0: Do not advertise 80MHz/160MHz capabilities in 40/20MHz
This is qcacld-2.0 to qcacld-3.0 propagation

Do not advertise the short GI capability for 80MHz and 160MHz
if the  operating channel width is 20MHz or 40MHz.

Change-Id: I93f0b2e94e27b50fa0baa2a263fc866ba3807fb3
CRs-Fixed: 908743
2015-11-23 13:08:10 -08:00
Naveen Rawat
3e8322c055 qcacld-3.0: Set channel width for TDLS link on base channel
This is qcacld-2.0 to qcacld-3.0 propagation

The htSupportedChannelWidthSet of the TDLS link on base channel
should be less than or equal to channel width of STA-AP link.
The parameter pStaDs->htSupportedChannelWidthSet represents the
channel width of TDLS link on base channel.
psessionEntry->htSupportedChannelWidthSet represents the channel
width set of STA-AP link.
So fill the pStaDs->htSupportedChannelWidthSet from
psessionEntry->htSupportedChannelWidthSet.

Change-Id: I7fe3f2f449d83f5d6f01adce3a25d8031dfbeb48
CRs-Fixed: 800031
2015-11-23 13:08:10 -08:00
Naveen Rawat
10ccf878f9 qcacld-3.0: Fix race condition between WMI control RX and driver unload
This is a qcacld-2.0 to qcacld-3.0 propagation

Don’t unregister the event in LIM cleanup since it will be take care
by WMI service close. Also in tlshim_mgmt_rx_wmi_handler, add driver
load/unload check to avoid processing any WMI_MGMT_RX_EVENTID event
even the handler is not NULL

Change-Id: I72b53b614218f26e874c964a0d8b0affba6cda79
CRs-Fixed: 904490
2015-11-23 13:08:10 -08:00
Chandrasekaran, Manishekar
3f6a72c09e qcacld-3.0: Check for concurrency rules before P2P CLI connection
Ensure that concurrency rules are validated before initiating
a P2P CLI connection.

Change-Id: I6ee8d03f2bde9b419391551c0ca988b3672eb089
CRs-Fixed: 935783
2015-11-23 13:08:10 -08:00
Satish Singh
18f12aac69 Release 5.0.0.140
Release 5.0.0.140

Change-Id: I4f54ce6df92b097ad33f3d6f97f9352bac4bce28
CRs-Fixed: 688141
2015-11-23 13:08:09 -08:00
Chandrasekaran, Manishekar
ef70c0dd64 qcacld-3.0: Set HW mode before issuing connect for Hidden SSID
Set the HW mode if needed before connecting to an SSID that
is hidden.

CRs-Fixed: 928208
Change-Id: Ibefd207327da1b85ae26a91afd27fc6baf98cf14
2015-11-23 13:08:09 -08:00
Chandrasekaran, Manishekar
123d863c0c qcacld-3.0: Support for CLI+SAP in the PCL tables for third connection
Add support for CLI+SAP combination in the PCL tables which will be
used before deciding the PCL for the third connection that is going to
come up.

CRs-Fixed: 932277
Change-Id: I87e0d6306a40129931268d869b09c5bf763fab95
2015-11-23 13:08:09 -08:00
Kiran Kumar Lokere
b3d8b5ba88 qcacld-3.0: Add ACS support in 160MHz
Add ACS support in SAP 160MHz mode.

Change-Id: I4893fc25057c64ea13c0297f6d7734415bcadd23
CRs-Fixed: 919904
2015-11-23 13:08:08 -08:00
Varun Reddy Yeturu
0518629d50 qcacld-3.0: Changes for early stop scan
Early stop scan is a feature for roaming to stop the scans at
an early stage as soon as we find a better AP to roam. This
would make the roaming happen quickly.

Apart from sending the configuration items, the host also
has to send down the channel list in a sorted order
to optimize the scans and meet the requirement of this
feature.

This feature is currently applicable only to roaming
scans. However the sorted order of scan list will be
the same used by all the scans.

CRs-Fixed: 932431
Change-Id: I9c7300e4922cb0d517c248bcf60f681a5872a315
2015-11-23 13:08:08 -08:00
Varun Reddy Yeturu
b43fda1ddd qcacld-3.0: PNO Channel prediction
Reduce the number of channels to scan in PNO mode
based on the initial scan memory and the movement
of the client STA using Tanimoto distance

CRs-Fixed: 932355
Change-Id: I1b5448af801fb37324b77cd13c6009f1d859dd61
2015-11-23 13:08:08 -08:00
Mukul Sharma
472382f646 qcacld-3.0: Check privilege permission for SET_PACKET_FILTER
qcacld-2.0 to qcacld-3.0 propagation

Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing SET_PACKET_FILTER IOCTL, making
sure user task has right permission to process the command.

Change-Id: Ib49c3223eacdc90dfe0d45af1aff7c74518990df
CRs-Fixed: 930937
2015-11-23 13:08:07 -08:00
Mukul Sharma
c7a59f3210 qcacld-3.0: SSR protection for linux/crda reg_notifier api
qcacld-2.0 to qcacld-3.0 propagation

if SSR trigger in middle of execution of linux_reg_notifier
/crda_reg_notifier, driver may access uninitialized data.
Hence Driver need to protect these function from SSR.

Change-Id: I9bdc6851a44fecc8353e94b38eb1dd4f63e58604
CRs-Fixed: 798672
2015-11-23 13:08:07 -08:00
Mukul Sharma
34777c6cf3 qcacld-3.0: Check privilege permission for SET_CHAR_GET_NONE
qcacld-2.0 to qcacld-3.0 propagation

Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing SET_CHAR_GET_NONE IOCTLs, making
sure user task has right permission to process the command.

Change-Id: I7b060bcdc84f7016e8d301e994437a535533a260
CRs-Fixed: 930935
2015-11-23 13:08:07 -08:00
Mukul Sharma
744420f213 qcacld-3.0: Check privilege permission for QCSAP_IOCTL_DISASSOC_STA
qcacld-2.0 to qcacld-3.0 propagation

Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing QCSAP_IOCTL_DISASSOC_STA IOCTL,
making sure user task has right permission to process the command.

Change-Id: I00919a56e93b8b49bce7a314b50f9f48039fbe6f
CRs-Fixed: 930946
2015-11-23 13:08:07 -08:00
Mukul Sharma
81661ae7f2 qcacld-3.0: Fix defects detected by Static code analyser
qcacld-2.0 to qcacld-3.0 propagation

Static code analyser detects uninitialized pointer/structure
access and dereferencing a pointer without null check.
As part of this fix host will initialize pointer/structure before
accessing it and put a null check for pointer access.

Change-Id: I5647b36a6ba0e84354d39799bf68a28df633cf20
CRs-Fixed: 836071
2015-11-23 13:08:06 -08:00
Mukul Sharma
51c449481e qcacld-3.0: Do not Update MC list in ftm mode
qcacld-2.0 to qcacld-3.0 propagation

Host should avoid to Update MC list in ftm mode because
as a part of MC list updation, host will access the
pMac roam sessions, as these sessions are not initialized
in FTM mode which lead to Null data access.

Change-Id: I2ac82e76c1c7de8d1bf0fd7e291bf5445e9d0f4b
CRs-fixed: 897871
2015-11-23 13:08:06 -08:00
Mukul Sharma
64a70e8c02 qcacld-3.0: Check privilege permission for SET_VAR_INTS_GETNONE
qcacld-2.0 to qcacld-3.0 propagation

Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing SET_VAR_INTS_GETNONE, making
sure user task has right permission to process the command.

Change-Id: Icbdfe69c18c1ab3b75d63e046d5251307a794817
CRs-Fixed: 930942
2015-11-23 13:08:06 -08:00
Mukul Sharma
a42b062623 qcacld-3.0: Check privilege permission for QCSAP_IOCTL_SETWPSIE
qcacld-2.0 to qcacld-3.0 propagation

Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing QCSAP_IOCTL_SETWPSIE IOCTL,
making sure user task has right permission to process the command.

Change-Id: Ie1c945afb0f109892beda66bab25647d70cc62d7
CRs-Fixed: 930944
2015-11-23 13:08:06 -08:00
Mukul Sharma
a5fe19828c qcacld-3.0: Check priviledge permission for SET_BAND_CONFIG IOCTL
qcacld-2.0 to qcacld-3.0 propagation

Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing SET_BAND_CONFIG IOCTL, making
sure user task has right permission to process the command.

Change-Id: Ie8a36bfa07a7b21601364b27b3c4bc888a6a5b4e
CRs-Fixed: 930952
2015-11-23 13:08:06 -08:00
Mukul Sharma
b315218e7a qcacld-3.0: Handle excessive logging during hostap select queue
qcacld-2.0 to qcacld-3.0 propagation

As a part of unload hdd is stopping the netdev queue.
But still N/W layer 3 is calling the select queue netdev
ops, where error print for sap context is Null appears
excessively.
As a part of this fix hostap select queue need to validate
Hdd context to take care of SSR and load / unload cases.

Change-Id: Id6d93a3a83de7d95a283ff57b6fa2c44f08a9ee3
CRs-Fixed: 857220
2015-11-23 13:08:06 -08:00
Abhishek Singh
10a00267d0 qcacld-3.0:IBSS:Update HT secondary channel offset from beacon in pStaDs
qcacld-2.0 to qcacld-3.0 propagation

While adding pStaDs for IBSS when peer beacon is received, HT
secondary channel offset is not copied from beacon. This leads to
false change capability indication while processing the same beacon
and thus update cb mode is sent with staid 255(default),
leading to crash.

Update HT secondary channel offset from beacon and add a check in
cbmode update to ignore update if staid is 255.

CRs-Fixed: 885747
Change-Id: I66dedb38aadde473b99b2f8fc4a7a9b855a10b2a
2015-11-23 13:08:05 -08:00
Edhar, Mahesh Kumar
35d9b2ed49 qcacld-3.0: Optimize processing of DFS phy events
qcacld-2.0 to qcacld-3.0 propagation

Optimize by avoiding processing of DFS phy events in below scenario's

1)Once radar indication given to UMAC.
2)Vdev restart in SAP interface

Change-Id: Ib175feed4a611a5c7185202e3d50abc3e84fc781
CRs-Fixed: 910586
2015-11-23 13:08:05 -08:00
Edhar, Mahesh Kumar
b0319c4725 qcacld-3.0: synchronize concurrent access of shared variable
qcacld-2.0 to qcacld-3.0 propagation

Currently DFS variables are accessed in different context without
protection leading to NULL pointer dereferences.

Ensure lock is taken before accessing the DFS shared variable.

Change-Id: Ie78dd50ff4b32ef52f78e2944d175a6c10577882
CRs-Fixed: 910586
2015-11-23 13:08:05 -08:00
Yue Ma
e3eaebe339 qcacld-3.0: Do not update WLAN status to LPASS when disconnect during unload
qcacld-2.0 to qcacld-3.0 propagation

Host driver updates WLAN status to LPASS with connected false and WLAN on
when disconnection happens. Host driver also updates WLAN status right
after driver unload is triggered with connected false and WLAN off. There
is a scenario that disconnection callback comes during driver unloading
which causes LPASS misbehavior. Fix this by only updating disconnection
status to LAPSS when driver is not unloading.

Change-Id: Ie72ba094283a64c06e8c74523314d6de92a0f08b
CRs-fixed: 928365
2015-11-23 13:08:04 -08:00
Yue Ma
4ea4f05710 qcacld-3.0: Increase SSR timeout to 30 seconds
qcacld-2.0 to qcacld-3.0 propagation

Increase SSR timeout from 15 seconds to 30 seconds in order to handle
some corner cases which may cause SSR to take longer time. E.g. CPU is
busy/stuck with other tasks.

Change-Id: I6837f2d5e87090ede15e514d1c4f978d34931f32
CRs-fixed: 927722
2015-11-23 13:08:04 -08:00
Yue Ma
d6478e468a qcacld-3.0: Modify bus bandwidth vote criterion
qcacld-2.0 to qcacld-3.0 propagation

If total TX/RX packets are less than bus bandwidth low threshold, there
is no need to vote separately from WLAN side.

Change-Id: I02284d035e58471b3933a84c778d4d44bd6b19ba
CRs-fixed: 918723
2015-11-23 13:08:04 -08:00
Yue Ma
6761d4a63d qcacld-3.0: CL 1359727 1369758 - update fw debug log file
qcacld-2.0 to qcacld-3.0 propagation

- ADD dbglog IDs for WMI TLV parsing.
- Add ROAM_STA_KICKOUT_RECV dbglog ID.

Change-Id: I3fdae0def4a99f75bbe9a8d772d7a61fa10ee7d5
CRs-fixed: 908561
2015-11-23 13:08:04 -08:00
Yue Ma
455aff67e9 qcacld-3.0: Ignore VOS_BUG if recovery is already going on during suspend
qcacld-2.0 to qcacld-3.0 propagation

There is no need for host driver to do VOS_BUG if FW has already requested
recovery during suspend.

Change-Id: I0c77210316fea978fe686201f42b9501612e9a1e
CRs-fixed: 904909
2015-11-23 13:08:04 -08:00
Yue Ma
e1a85f39d1 qcacld-3.0: Recover if fail to receive HTC ACK from FW for PDEV suspend
qcacld-2.0 to qcacld-3.0 propagation

If self-recovery is enabled in ini file, recover if host driver fails to
receive HTC ACK from FW for PDEV suspend, otherwise do VOS_BUG.

Change-Id: Ieddb22c5806067ec1a1166b60e1642e6cdf74a4c
CRs-fixed: 894187
2015-11-23 13:08:03 -08:00
Yue Ma
cd9614433f qcacld-3.0: Fix several SSR related issues
qcacld-2.0 to qcacld-3.0 propagation

- Kill wlan_tasklet before freeing TLshim free queue. This can avoid
  race condition between SSR and wlan_tasklet which is still processing
  Rx packets in the case of self-recovery when FW doesn't really crash.

- In additional to connected state, add disconnected/disconnecting states
  to send notification to supplicant for re-issuing connect after SSR.
  This is to avoid corner cases that while FW crashes, disconnection is
  happening or disconnection fails because of FW crash, the HDD state is
  changed from connected to disconnecting/disconnected.

Change-Id: I8ff295a443e946e8775354dcf4331ad024776cb7
CRs-fixed: 899479
2015-11-23 13:08:03 -08:00
Prakash Dhavali
7090c5fd8d qcacld-3.0: Initial snapshot of ihelium wlan driver
qcacld-3.0: Initial snapshot of ihelium wlan driver
to match code-scanned SU Release 5.0.0.139. This is
open-source version of wlan for next Android release.

Change-Id: Icf598ca97da74f84bea607e4e902d1889806f507
2015-11-17 17:52:53 -08:00
Prakash Dhavali
8508e16801 Initial readme for WLAN Host Driver for iHelium
Initial readme for WLAN Host Driver for iHelium

Change-Id: Iab1f96e54881d3efa5c80b47d0772fa05d2ddcb7
2015-04-06 11:45:23 -07:00