Commit Graph

767 Commits

Author SHA1 Message Date
Abhishek Singh
7d3bc3e500 qcacld-3.0: Retry Auth from host in case ack is not received for Auth
qcacld-2.0 to qcacld-3.0 propagation

In few APs with power save feature, if no STA is connected, the AP
does not respond to the Auth from STA, unless Auth is sent near to
the AP's CT window. With current implementation host does not
retry the auth and wait for the auth timeout to happen before
returning connect failure.

With this change Host will retry the Auth frame with interval of
3/5 * beacon interval, if no Ack is received for the frame,
until the auth timeout happens.

This increases the probability for the Auth to be received by AP near
to its beacon and thus initiate the connection.

CRs-Fixed: 816177
Change-Id: I51a6032f910b32eb91d67cb078e6434016ae8650
2016-04-17 18:04:38 -07:00
Krishna Kumaar Natarajan
0f25bbb0b3 qcacld-3.0: Fix layering violation in wma_get_vht_ch_width
Fix layering violation in wma_get_vht_ch_width by using macros
defined in WMI instead of kernel defined macros.

Use WMI_VHT_CAP_CH_WIDTH_160MHZ and WMI_VHT_CAP_CH_WIDTH_80P80_160MHZ
instead of kernel defined macros.

Change-Id: I7d389c21d8c16fd9528cd06d98f2ec84b84aadf7
CRs-Fixed: 985099
2016-04-17 18:04:34 -07:00
Krishna Kumaar Natarajan
062d054549 qcacld-3.0: Update dot11f.frms for new radio measurement types
Update dot11f.frms to decode LCI and Fine Time Measurement in
incoming Radio Measurement frames.

Currently we do not have these new types supported leading to
incorrect frame parsing. Adding these types make sure that
incoming radio measurement request frames are unpacked correctly.

Change-Id: I542bb2b782fed144702c372cbfc314c666c72f53
CRs-Fixed: 980863
2016-04-17 18:04:27 -07:00
Naveen Rawat
206e2ac787 qcacld-3.0: Reindent csr_validate_mcc_beacon_interval
This patch is to reindent csr_validate_mcc_beacon_interval

Change-Id: I0e9c420aab7a2f5534e8acc52d09a27693194073
CRs-Fixed: 985273
2016-04-17 18:03:56 -07:00
Krunal Soni
0acfdcd696 qcacld-3.0: Fix incorrect struct assignment & HT-ie addition
Fix incorrect struct assignment while handling join request in
SME module.

Fix not to add HT ie in outgoing P2P action frames.

Change-Id: Ic49ca5ca3171be50a16a16281ae68edb35449605
CRs-Fixed: 985273
2016-04-17 18:02:01 -07:00
Krunal Soni
fb84cbd911 qcacld-3.0: (part-8)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: Ic3e7c2944d1b8d66042398c57eb307ab30223524
CRs-Fixed: 985273
2016-04-17 18:01:56 -07:00
Krunal Soni
9b04c9b8dd qcacld-3.0: (part-7)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: If408976d5554a50a0023c2a49f80876911fdf1d8
CRs-Fixed: 985273
2016-04-17 18:01:51 -07:00
Krunal Soni
056ea0ffde qcacld-3.0: (part-6)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: Ia98c4406992c1065850dc70ab3b33c49216d0a24
CRs-Fixed: 985273
2016-04-17 18:01:47 -07:00
Krunal Soni
b4326f27d9 qcacld-3.0: (part-5)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: I62a36b3e4d7f92a6d8b15648645035c6ea7735c2
CRs-Fixed: 985273
2016-04-17 18:01:43 -07:00
Krunal Soni
a368784fee qcacld-3.0: (part-4)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: Iaa945f64dd9f90f6abc0b1716b176fce0971ba71
CRs-Fixed: 985273
2016-04-17 18:01:39 -07:00
Krunal Soni
f07bb38727 qcacld-3.0: (part-3)Replace enum device_mode to tCDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: I963d1d7f854ecdfe8c301cc5c8fc554ce8df4e35
CRs-Fixed: 985273
2016-04-17 18:01:29 -07:00
Krunal Soni
be766b01b8 qcacld-3.0: (part-2)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: If20617734c5f6f71cef6b85b86d907f8be9d39f9
CRs-Fixed: 985273
2016-04-17 18:01:19 -07:00
Krunal Soni
276241e3d2 qcacld-3.0: (part-1)Replace enum device_mode to tQDF_ADAPTER_MODE
Instead of using two different enums for setting adapter mode,
combined them to make only one set of enum.

Change-Id: Ie41244becec39fe1f5f24a721f5b24e137e7fd26
CRs-Fixed: 985273
2016-04-17 18:01:12 -07:00
Satish Singh
7624902237 Release 5.1.0.7G
Release 5.1.0.7G

Change-Id: Ic169127937315b8f84983b656fbf97ff824234d7
CRs-Fixed: 688141
2016-04-17 18:00:44 -07:00
Archana Ramachandran
28ab41212d qcacld-3.0: Fix memory leak in protocol stack due to cdf_mem_free removal
Fix memory leak in protocol stack due to cdf_mem_free removal.

CRs-Fixed: 987178
Change-Id: If2aa813322cbfea68001862098e6c0b18e6921ae
2016-04-17 18:00:34 -07:00
Rajeev Kumar
dd4dd08b2c qcacld-3.0: Fix deadlock in hdd_adapter_lock usage
hdd_adapter_lock is acquired from MC thread and hif_napi soft IRQ
context so it should be acquired using spin_lock_bh such that when
MC thread is holding the lock soft IRQ can't pre-empt it and lead
to deadlock

Change-Id: Iee4a4905bf7cc09cba9bd26f416d505eb47a5c96
CRs-Fixed: 981886
2016-04-17 18:00:21 -07:00
Manjunathappa Prakash
7e16b0a68f qcacld-3.0: Use fastpath Tx entry point with flowcontrol V2
Use common entry point ol_tx_ll_wrapper and use fastpath Tx if enabled.

Change-Id: I3a19fd6af43ab10eb5d8dd2754134a8dbc3783ab
CRs-Fixed: 987182
2016-04-17 17:59:18 -07:00
Amar Singhal
90aaa6ae49 qcacld-3.0: Fix setting vht160/80p80 driver capablities.
We dont need to set both 80p80 and 160 mhz driver capabilties
in driver. Since 160 is a subset of 80p80 capability; we need to
set only one

Change-Id: I20ea254523bade3ad93e49added35d4bdc1d0509
CRs-Fixed: 985763
2016-04-17 17:56:05 -07:00
Peng Xu
242002c759 qcacld-3.0: Increase connection update timeout value
Current connection update timeout value for DBS concurrency case
is 500ms, which is not long enough as there are other WMI messages
need to be processed by master thread. Increase the timeout value
to 1000ms to ensure the set hardware mode WMI message has enough
time to be processed

Change-Id: Idecf2e830a7a37258787eb4f8c5f117cbe2a825b
CRs-fixed: 983174
2016-04-17 17:55:53 -07:00
Nirav Shah
93e789e6d5 qcacld-3.0: Fix firmware statistics mask and format
Send prorper firmware statistics mask and fix
firmware statistics format

Change-Id: I786a7a6e3cec46660c497a001b4b39fb1a049b3a
CRs-Fixed: 986060
2016-04-17 17:55:45 -07:00
Krishna Kumaar Natarajan
db582ec0e0 qcacld-3.0: Fix incorrect argument type in lim_chk_assoc_req_parse_error
Fix incorrect argument type in lim_chk_assoc_req_parse_error function

Currently uint32_t is passed to the function but this function typecasts
it to uint8_t which results in losing 3 bytes of data. This lead to
incorrect parsing of Assoc request frame.

Change-Id: Ib55f7afa06972234d06edd12098e44608460a10d
CRs-Fixed: 987559
2016-04-17 17:55:30 -07:00
Chandrasekaran Manishekar
cde33d77d6 qcacld-3.0: Send channel switch request instead of doing SAP restart
Send channel switch request instead of performing SAP restart when
doing a MCC to SCC switch. This is controlled using the existing INI
item 'gWlanMccToSccSwitchMode'. The new value of '3' will perform
this channel change by sending (E)/CSA whereas the old value of '2'
can still be used to do a channel change by doing SAP restart

Change-Id: I79e7317219503de0a9957940f3cf7a4e91c7a521
CRs-Fixed: 986202
2016-04-17 17:55:17 -07:00
Chandrasekaran Manishekar
4fcb7f5feb qcacld-3.0: Fix enum mismatch while calculating regulatory class
Fix the enum value used while calculating the regulatory class
from the operating channel. Currently, the channel width is of
type 'enum ch_width' whereas the expected enum is of type
'offset_t'. Fixing the same by performing the enum conversion
before calculating the regulatory class to avoid incorrect
value of regulatory class.

Change-Id: I6aabb8ae78836e3c640f41b27e10830adc91a57e
CRs-Fixed: 986246
2016-04-17 17:54:53 -07:00
Chandrasekaran Manishekar
068e25eeb8 qcacld-3.0: Enable FEATURE_WLAN_MCC_TO_SCC_SWITCH flag in the driver
Enable feature flag FEATURE_WLAN_MCC_TO_SCC_SWITCH in the Kbuild to
make use of the MCC to SCC switch feature. The resulting errors in
compilation are fixed along with some enhancement in the debug logs
in this feature path

Change-Id: I0ddb2f371c28ade6d8fc9ea12ba104a99394827f
CRs-Fixed: 986079
2016-04-17 17:54:28 -07:00
Ryan Hsu
9206a4ef77 qcacld-3.0: Update cfg80211_vendor_event_alloc for Kernel upgrade
Commit: 6c09e79 ("cfg80211: Allow NL80211_ATTR_IFINDEX to be added
to vendor events")

This commit add parameter wdev to cfg80211_vendor_event_alloc(), that would
be used to check at __cfg80211_alloc_vendor_skb() to assign ifindex to
the skb and is merged in Kernel 4.1, so add a kernel version macro to
support this

Also merge the hdd_vendor_put_ifindex into cfg80211_vendor_event_alloc
to assign the ifindex when wdev is given, that way we can unify the interface.

Change-Id: I321e12bfe3f9160a8a0fcfeb2408f6336d50e2c5
CRs-fixed: 964291
2016-04-17 17:51:33 -07:00
Kiran Kumar Lokere
333a995e90 qcacld-3.0: Enable Tx LDPC by default
Enable Tx LDPC by default.

Change-Id: I5d276dbf40b8f85cedcf19be0aff5de2809661ea
CRs-Fixed: 983920
2016-04-17 17:50:46 -07:00
Houston Hoffman
575ff11540 Release 5.0.0.6G
Release 5.0.0.6G

Change-Id: Ia8f15633bf15406cd628d86f7c17c4b176bf67aa
CRs-Fixed: 688141
2016-04-17 17:50:19 -07:00
Vishwajith Upendra
bf673e7258 qcacld-3.0: Add support for SAP DFS-3 160MHz, 80+80MHz NOL
Add support for DFS Master mode NOL channel blacklisting.
In 80+80MHz mode add only the channels to NOL based on the segment
id on which radar has been detected and in 160MHz add all or only
DFS channels skipping the Non-DFS channels,  part of the 160MHz bond.

Acked-by: Rakesh Sunki <rsunki@qca.qualcomm.com>

Change-Id: Ie56d14b17997a86e12eacd0ea86cf1742899feb4
CRs-Fixed: 964262
2016-04-17 17:48:41 -07:00
Sandeep Puligilla
2111d3c9b6 qcacld-3.0: SAP DFS-3 channel selection suppport for 80+80MHz/160MHz
Add support for setting channel width for CSA and modify the
SAP DFS channel width fallback algoritham to support DFS for
80+80Mhz and 160Mhz bandwidth. Also, compile out channel matrix
restriction from channel selection process after radar
indication is received for newer platforms and only compile
for older platforms

Change-Id: I771fc162b18aa1e485c513046a265b2d94612972
CRs-Fixed: 964262
2016-04-17 17:05:13 -07:00
Sandeep Puligilla
949eaa7aab qcacld-3.0: SAP DFS CAC Support in 80+80MHz mode
Add support to perform CAC when SAP comes up in 160MHz
or 80+80MHz with any of the 80MHz band is DFS band.

Change-Id: If24d6cd325f747934195598ffe0f456eea939026
CRs-Fixed: 964262
2016-04-17 17:05:13 -07:00
Sreelakshmi Konamki
9d6b75d1a4 qcacld-3.0: Downgrade WMM AC for data frames if BMPS disabled
qcacld-2.0 to qcacld-3.0 propagation

As per the current implementation STA is sending Vo tagged data after
delTspec if BMPS disabled.

To fix this issue, make wmmAcAccessAllowed to false in hdd_wmm_delts().

Change-Id: I2351a4fd463e0e80cc7aefa5485046eab491ce45
CRs-Fixed: 967685
2016-04-17 17:05:13 -07:00
Amar Singhal
30193a7fa4 qcacld-3.0: Remove obsolete regdomain structures
Remove obsolete regdomain data structures. Also remove the obsolete
fields from REG_DOMAIN and REG_DMN_PAIR_MAPPING data structures.

Change-Id: I1ff906571dfadf9cf6a4dc963d8eef62acc5f6b5
CRs-Fixed: 961806
2016-04-17 17:05:13 -07:00
Amar Singhal
c1f9c1af05 qcacld-3.0: Remove sub-ctl codes.
Firmware does not require the sub-ctl codes from the host. Therefore,
remove the calculation of sub-ctl codes from the host APIs. Also
remove the associated data structures.

Change-Id: Ib5d5f074b45f2dae2bb9a7c172ee7f8750ad5355
CRs-Fixed: 961806
2016-04-17 17:05:12 -07:00
Amar Singhal
76b4132090 qcacld-3.0: Define correct country codes
Define the correct country codes per the data published by the
regulatory compliance team.

Change-Id: I2474acb2657ba1e4a0f62aef013df296aebfcb53
CRs-Fixed: 961806
2016-04-17 17:05:12 -07:00
Archana Ramachandran
393f3796b6 qcacld-3.0: Dynamic antenna switch in disconnected/station mode feature
Functionality for switching antenna mode (TX/RX chains)
from 1x1 to 2x2 and vice versa dynamically without reloading
the driver. This feature is currently supported in the
disconnected state where only scan operation can happen and
standalone station mode.

The changes include the following:
1. Driver command IOCTL to set/get antenna mode as follows
DRIVER SETANTENNAMODE <# of streams>
DRIVER GETANTENNAMODE

2. Processing SETANTENNAMODE and GETANTENNAMODE to dynamically
change the number of TX/RX chains as follows

Dynamic switch request is allowed only when the supported
number of chains in the system is greater than 1.

Dynamic antenna switch is achieved by sending
WMI_PDEV_SET_ANTENNA_MODE command to the FW chain mask
manager with parameters to change the number of TX/RX chains.
This request will be maintained by the chain mask
manager and applied whenever only one MAC is active.

If there is a station association followed by dynamic switch
to 1x1 mode then SM power save IE is included in the HT caps
of the association/reassociation request management frame.

Dynamic switch in the connected standalone station mode is
achieved by sending SMPS force mode command with appropriate
values for smps mode by the chain mask manager.

Change-Id: I65d51d173a627dc2751ef10cc2172a5215e7b8db
CRs-Fixed: 931250
2016-04-17 17:05:12 -07:00
Archana Ramachandran
fec2481466 qcacld-3.0: Do not send SMPS force mode on dynamic antenna mode switch
When dynamic antenna selection requests to change the number of
TX/RX chains, the FW chain mask manager will take care of sending
the corresponding SMPS action frames to the AP to put the station
in 1x1 or 2x2 mode. The host driver should only handle setting
the right SMPS mode in the HT capabilities of association
or re-association requests.

CRs-Fixed: 931250
Change-Id: I9bedcc5024a98040f571f730ff084f6fe3e3ad00
2016-04-17 17:05:12 -07:00
Archana Ramachandran
20d2e23fca qcacld-3.0: Enable station SMPS only if the session supported NSS > 1
If HT SMPS is enabled and if the session supported NSS > 1
then include SMPS IE in the HT capabilities of the association
and the reassociation management frame.Enabling SMPS with an AP
whose capability is only 1x1 will result in association/reassociation
request being rejected or an unexpected behavior. Send SMPS force mode
to FW to trigger SMPS action frame only if SMPS is enabled in the
INI. For dynamic antenna switch, the chain mask manager will send
the SMPS action frames.

CRs-Fixed: 931250
Change-Id: Ifff2ef2c8790994a68e676b8bba2fb03c21370d4
2016-04-17 17:05:12 -07:00
Archana Ramachandran
a20ef8127d qcacld-3.0: Dynamic antenna selection request/response messages
Add support to request for antenna mode to FW to switch from
1x1 to 2x2 and vice versa dynamically and process the response
status of whether the request was sent successfully.

Change-Id: Ie4b0b36981423f9325c48c7ebad445d5cc1f2a21
CRs-Fixed: 931250
2016-04-17 17:05:12 -07:00
Archana Ramachandran
d41c3ed58c qcacld-3.0: Add interface files for dynamic antenna selection
Add interface files for dynamic antenna selection feature

CRs-Fixed: 931250
Change-Id: Ieafe368a25c3a69e32cd5de6822ef84130528096
2016-04-17 17:05:12 -07:00
Chandrasekaran, Manishekar
d3cb4778fe qcacld-3.0: Fix potential static code analysis issues
Fix potential null pointer access during sap open
session and validation of the session id which could
be reported during static code analysis.

Change-Id: I6146c7223c586df06c08c76abd9e38a3c1ad1c4b
CRs-Fixed: 979960
2016-04-17 17:05:12 -07:00
Chandrasekaran, Manishekar
6e9aa1b9cd qcacld-3.0: Avoid message handler of netlink APIs to be OS agnostic
Avoid message handler of netlink APIs to be OS agnostic. Retain the
message handler to get the concurrency matrix in HDD.

Change-Id: Ieb121512e3d8ae15678da46ed8425c07fd003f69
CRs-Fixed: 946161
2016-04-17 17:05:12 -07:00
Ryan Hsu
07495ea2e6 qcacld-3.0: Update wlan_hdd_add_virtual_intf for Kernel upgrade
Commit: 6bab2e19 ("cfg80211: pass name_assign_type to
rdev_add_virtual_intf)

Above commit add new parameter - name_assign_type to indicate the
ifname is set by userspace or generated by the kernel.

Also add this new param to all underlying interfaces, so that we can
get rid of the conditional flag interleave in APIs but only to the
toppest and lowest one.

Change-Id: I2233391f4e7313cf4134c975e14b6060ad852c5d
CRs-fixed: 966067
2016-04-17 17:05:12 -07:00
Gupta, Kapil
3e61707d7c qcacld-3.0: Add debug print for EAPOL msg
qcacld-2.0 to qcacld-3.0 propagation

Currently driver has debug print for EAPOL
but it doesn't tell whether its M1, M2 etc.
As part of fix, add debug print for M1-M4 msg.

Change-Id: I1eb4f9dac6520b1ce00cdfc3e0fcef721ae498d6
CRs-Fixed: 919617
2016-04-17 17:05:12 -07:00
Rajeev Kumar
8e3e283a82 qcacld-3.0: Add extended IBSS feature on qcacld-3.0
Add extended IBSS feature on qcacld-3.0

Change-Id: I7faaf646df363a74954defbef103afbb4b72af92
CRs-Fixed: 766181
2016-04-17 17:05:12 -07:00
Govind Singh
25a9578b3f qcacld-3.0: Remove unused WMI layer code
WMI layer is moved to converged repository.
Remove unused WMI layer code from cld3.1 codebase.

Change-Id: I6ca9d468ae9628f6b1d78a53917c9c67994e02dc
CRs-Fixed: 987362
2016-04-15 13:51:23 -07:00
Vishwajith Upendra
df1d46459b Release 5.1.0.5GG
Intermediate release to address cleanup proprietary
and old stale lines

Change-Id: Ie68c7f85ca0694ae5b54feb18e3a666982714ebb
CRs-Fixed: 688141
2016-04-13 22:52:05 -07:00
Komal Seelam
faad20feb2 Release 5.1.0.5G
Rebase of 5.0.0.165 onto 5.1.0.4G

Change-Id: I7813c88803d912feea91609960bd6ed642fd05d7
2016-04-13 21:51:26 -07:00
Peng Xu
66162de29e qcacld-3.0: Fix firmware assertion caused by vdev delete
Currently the SME session is deleted during interface change API and
a new session is not opened until SAP is ready to start. This will
cause crash when scan API is invoked. This fix opens the SME session
after interface type is changed, so that it can be used to scan and
SAP later.

Change-Id: I3c4f8da14dbc70a3102fb1892bb101eb1a90a00d
CRs-fixed: 968572
2016-04-13 21:51:26 -07:00
Sandeep Puligilla
93a29ecadd qcacld-3.0: HDD: Add support for 2.4Ghz HT40 STA
- Add support for 2.4Ghz HT40 STA.
- Add HT40 OBSS scan start and stop operation.
- Add support for extraction of OBSS scan paramters from beacon
  and probe response

Change-Id: Idc69d4d17271864c1d3bc2c6e16f25eae73331b0
CRs-Fixed: 947086
2016-04-13 21:51:26 -07:00
Sandeep Puligilla
e087566368 qcacld-3.0: UMAC: Add support for 2.4Ghz HT40 STA
- Add support for 2.4Ghz HT40 STA.
- Add HT40 OBSS scan start and stop operation.
- Add support for extraction of OBSS scan paramters from beacon
  and probe response.

Change-Id: I58e8d72b8ee922f710af0474ed3efd0438fff3a7
CRs-Fixed: 947086
2016-04-13 21:51:26 -07:00