Commit Graph

2033 Commits

Author SHA1 Message Date
Mahesh Kumar Kalikot Veetil
80dda9aab6 qcacld-3.0: Correct dev name in logs
Fix device name in the log. Current log is,
"hdd_open_adapter: xxxx: wlan%d interface created. iftype: 0."
Expected log is,
"hdd_open_adapter: xxxx: wlan0 interface created. iftype: 0."

CRS-Fixed: 2078530
Change-Id: Ida38e1e2f26d0a86382550409317ec36bd68f071
2017-07-25 03:45:22 -07:00
Sridhar Selvaraj
1b2330ccb8 qcacld-3.0: Add new ini param for min rest time during roaming scan
Currently both min and max rest time use the same ini param
gNeighborScanTimerPeriod.

Add a new ini param gRoamRestTimeMin for min rest time
during channel scan.

Change-Id: Ifbb0fcc736e81b292639c6f2ad3119b451bec4f2
CRs-Fixed: 2060095
2017-07-24 10:52:47 -07:00
Kiran Kumar Lokere
e25d3fce79 qcacld-3.0: Disable 160MHz SGI if SGI 40MHz INI cfg is disabled
Disable SGI in 160MHz mode if short GI for 40MHz is disabled in
the INI connfiguration

Change-Id: I6a0c7c7734d4c926dc29103207afb45a3eb1da94
CRs-Fixed: 2073269
2017-07-21 22:25:33 -07:00
Kabilan Kannan
703fc299e9 qcacld-3.0: Fix the incorrect error check in scan function
Due to incorrect error check wlan scan abort request
consistently fails.
Fix the error check statement.

Change-Id: I342f96596daaad9e6668059a7085dd215ff5241f
CRs-Fixed: 2049396
2017-07-21 21:20:37 -07:00
Dustin Brown
fe7aa8780a qcacld-3.0: Add gPreventLinkDown ini item
Add a configuration item, gPreventLinkDown, to disable putting the bus
link to sleep during suspend/resume.

Change-Id: Id52c6319cafaef60e6f4e562010615361eb831cd
CRs-Fixed: 2066718
2017-07-18 15:49:39 -07:00
Selvaraj, Sridhar
57ce4dfde2 qcacld-3.0: Add ini params to avoid roam ping pong
In roaming scenario, to avoid ping pong with bad AP’s around, fw
blacklist certain Ap’s based on timestamps and penalize certain
AP’s of the same channel so they won’t be selected and back and
forth roaming could be avoided. This change adds the following
INI parametres to configure the parametres of this fw feature.

1) groam_disallow_duration    - Amount of time LCA[Last Connected AP]
                                will be disallowed before it can be a
                                roaming candidate again.
2) grssi_channel_penalization - RSSI to be penalized if
                                candidate(s) are found in the same
                                channel as disallowed AP's.
3) groam_num_disallowed_aps   - number of AP's the target should
                                maintain in its LCA list.

Change-Id: I41cb36caf1b42caeb2bf77846bd0279eb43d2018
CRs-Fixed: 2054188
2017-07-18 05:54:24 -07:00
Ashish Kumar Dhanotiya
41a5a77621 qcacld-3.0: Fix out of bound memory access
There is a possibility of OOB memory access within api
wlan_hdd_qcmbr_command.
To resolve this issue add appropriate buffer length check before
using the buffer.

Change-Id: I3bc0bb74e07fbf4b5c1f2163c9fb0b80d8839d0d
CRs-Fixed: 2075278
2017-07-18 03:49:25 -07:00
Zhang Qian
303ebe9dbf qcacld-3.0: Add mac counters for per-antenna TX/RX stats
qcacld-2.0 to qcacld-3.0 propagation

New MAC counters are added to count MPDUs received and transferred
on each antenna.

Change-Id: Ia7fbf7642922f006882619848459192dcfca3c40
CRs-Fixed: 2043156
2017-07-17 21:48:05 -07:00
Srinivas Girigowda
11c28e0022 qcacld-3.0: Replace NL80211_BAND_2GHZ with HDD_NL80211_BAND_2GHZ
warning: implicit conversion from enumeration type 'enum
nl80211_band' to different enumeration type 'enum ieee80211_band'
[-Wenum-conversion]

Replace NL80211_BAND_2GHZ with HDD_NL80211_BAND_2GHZ and
NL80211_BAND_5GHZ with HDD_NL80211_BAND_5GHZ.

Change-Id: I15a905a599b87fc1a876c5f1b7bd6d69b2ba0f15
CRs-Fixed: 2055487
2017-07-17 20:55:22 -07:00
Srinivas Girigowda
38f1deda4e qcacld-3.0: Fix clang warnings implicit enum nl80211_band
warning: implicit conversion from enumeration type 'enum
nl80211_band' to different enumeration type 'enum ieee80211_band'
[-Wenum-conversion]

Change-Id: I084e015626611ae90be00b11a599ae82f9bf6f60
CRs-Fixed: 2055487
2017-07-17 20:55:20 -07:00
Varun Reddy Yeturu
9e0032c720 qcacld-3.0: Use API to change the connection state
Use the API hdd_conn_set_connection_state to change the
HDD connection state

Change-Id: I3635cec841a3788c9576e8e49ab859e21d89e32d
CRs-Fixed: 2076017
2017-07-17 20:05:14 -07:00
Will Huang
48701e295f qcacld-3.0: Move short name redefinitions from qca_vendor.h
These short name redefinitions should just be used in source file for
convenience, should not exist in qca_vendor.h where interfaces are
defined there.

To avoid checkin two way dependencies, add ifndef/define in source file
and first checkin qcacmn head file which remove these redefinitions,
then remove these ifndef/define from source file in another change.

Change-Id: I5318de88b569085f26212e960b79048e8a2481a8
CRs-Fixed: 2076521
2017-07-17 18:29:15 -07:00
Wu Gao
3545e64d4a qcacld-3.0: Cleanup DFS CAC timer when SSR and reset all adapters
In SAP and SSR case, it won't cleanup DFS CAC timer until up layer
kill hostapd. It will call wlansap close when hostapd exit. If
enable sap internal restart in this case, it will double init DFS CAC
timer, which cause abnormal in kernel. Solution is cleanup DFS CAC
timer when reset all adapters.

Change-Id: I96962349af548074e226976c8c01cd5a8710ed3f
CRs-fixed: 2075904
2017-07-17 18:29:13 -07:00
bings
5f0ae149d9 qcacld-3.0: Mask sdio host controller interrupts in shutdown
Driver should mask the sdio host controller interrupts in ssr
shutdown callback, or routine mmc_signal_sdio_irq is called
unexpectedly and causes crash.

Change-Id: I8551a7d809bf115d2df9735c8c7a30045f717cd1
CRs-Fixed: 2076658
2017-07-17 17:38:52 -07:00
tfyu
0380a97ccc qcacld-3.0: Do RX packet aggregation for every 16th packet
Do RX packet aggregation for every 16th packet except the ICMP packets,
if the platform is not SMP platform. This change will contribute to improve
standalone SAP/STA RX TPUT when IPA uC offload is enabled by reducing
CPU utilization.

And this change is progagated from CLD2.0 driver with below commits:

bfaad0cb3b0f77d1940eb1d782bd8d125c557bbc
5d960eac83008cad60ff3e7abe1bbebb00b53cf6
c7d2405d7e8e4ba3a5eecbbaa177f4895036a4eb

Change-Id: I256e65ec2399b9b24eec4ccca7fdd662e326838f
CRs-Fixed: 2075793
2017-07-17 01:48:23 -07:00
Abhishek Singh
001306866e qcacld-3.0: Use scan reject count along with time to detect scan failure
qcacld-2.0 to qcacld-3.0 propagation

If scan is scheduled after long interval there is a chance that driver
is busy with same reason. i.e if scan is scheduled after 5 min there is
a chance that driver is busy in reassoc both time but this will give false
alarm that driver is stuck.

To reduce this condition include number of scan failures as well
along with time interval.

Change-Id: I6fdd0813541aa5d3d069fe8bf3934cfa47425550
CRs-Fixed: 2064605
2017-07-14 23:51:54 -07:00
Mukul Sharma
d75a667472 qcacld-3.0: Move PMO from CMN to CLD
Move PMO from CMN to CLD.

Change-Id: I31380da668ac3305731b8c9906d343a829777591
CRs-fixed: 2071528
2017-07-14 17:36:11 -07:00
Arunk Khandavalli
ba3d558cc3 qcacld-3.0: Add support to load the driver in FTM mode
In Emulation setup its difficult to load the driver in the mission
mode and change the mode to FTM mode because of certain hardware
limitations.
Add support to load the driver in FTM mode.

Change-Id: I7e313d1234a8a01fc601c3f7edd75ca3070302d1
CRs-Fixed: 2074551
2017-07-14 17:36:09 -07:00
Vidyullatha Kanchanapally
be0ebb3807 qcacld-3.0: Add handler for new WMI BT event
Add handler for the new WMI BT activity event and propagate the BT
event till HDD. These BT activity events will be used for MBO
enhancements to decide whether to accept the BTM request from
AP or not.

Change-Id: I687819fd28c693964b42bfb24eb9dae1858b10a5
CRs-Fixed: 2023728
2017-07-13 18:03:08 -07:00
Abhishek Singh
6451c23fef qcacld-3.0: Use time_after api to take care of jiffies wrap around
jiffies wrap around can cause the confusion that the threshold
time has has elapsed and thus raise false alarm for scan reject.

To fix this use time_after api to take care of jiffies wrap around.

Change-Id: I20c0abbcaab0bea8054c2f497f41e50572008a8c
CRs-Fixed: 2075451
2017-07-13 03:38:07 -07:00
Srinivas Girigowda
5fc12a5e27 qcacld-3.0: Fix clang warnings implicit enum tHiddenssId
warning: implicit conversion from enumeration type 'tHiddenssId'
to different enumeration type 'enum nl80211_hidden_ssid'.

Change-Id: I0d6ec78be4d1c9561ee1d3ed1252ed9eb8fdd8ac
CRs-Fixed: 2055487
2017-07-13 01:47:59 -07:00
Srinivas Girigowda
5a1da622ea qcacld-3.0: Advertise set tx power limit capability
Advertise set tx power limit capability.

Change-Id: Ib07ee86079f98f33da3e6e559f04abb6031cc08e
CRs-Fixed: 2074653
2017-07-13 01:47:58 -07:00
Srinivas Girigowda
d06f2cf4e9 qcacld-3.0: Fix clang warnings implicit enum dfs_region
warning: implicit conversion from enumeration type 'enum dfs_region'
to different enumeration type 'enum nl80211_dfs_regions' [-Wenum-conversion]

Change-Id: I742e767ce72cc8507aaadcacec3f0cefd4147791
CRs-Fixed: 2055487
2017-07-13 01:47:56 -07:00
Srinivas Girigowda
74a66d627b qcacld-3.0: Fix clang warnings implicit enum type tAniBool
warning: implicit conversion from enumeration type 'tAniBool'
(aka 'enum eAniBool') to different enumeration type
'eSapBool' [-Wenum-conversion]

Replace tAniBool/eSapBool with bool.

Change-Id: I919488d2accc094049375fffe8b54a5d7dea621e
CRs-Fixed: 2055487
2017-07-13 01:47:55 -07:00
Nachiket Kukade
fbd1afcbdb qcacld-3.0: Move initialization of Green AP to start modules
Currently during wlan startup, driver initializes Green AP with
EGAP param. If the interface timer expires driver sends command
to disable EGAP. This causes failure when interface is created
and start modules attempts to start Green AP.
Move initialization of Green AP to start modules.

Change-Id: Id08a1d61c69aeb9096d8eb4bf67fd8c2b5c8822f
CRs-Fixed: 2074556
2017-07-12 15:42:46 -07:00
Kapil Gupta
8731e8124a qcacld-3.0: reset reference count of bss if memory alloc fail
In case of reassoc event handler, it may be possible that driver
doesn't inform kernel about the new bss as well as doesn't reset
the reference count of this bss due to memory allocation failure.

Add changes to reset bss reference count if memory allocation
failed.

Change-Id: I6844d9387dd018e24a4d15bd567294e08ae43941
CRs-Fixed: 2075074
2017-07-12 14:44:24 -07:00
Abhishek Singh
7e95dbc9f6 qcacld-3.0: Cleanup the sme session if sme open session times out
Call sme close session if sme open session times out, to clean up
the vdev created.

Change-Id: Icd718138d0198a6285243a15eb56ce912149f038
CRs-Fixed: 2043263
2017-07-11 12:56:58 -07:00
Dustin Brown
a7e6a5c19d qcacld-3.0: Address mScanPending issues
Address the following issues identified for mScanPending:

* Do not ensure mScanPending is set in hdd_cfg80211_scan_done_callback
* Always set mScanPending to false in hdd_start_all_adapters

Change-Id: I233b8208cea0661c1d8834704e44a311e662dc47
CRs-Fixed: 2073232
2017-07-11 12:08:07 -07:00
Kapil Gupta
c1224bf234 qcacld-3.0: Changes to correct channel flags for vendor ACS
In the reg channel info which is sent to external channel
selection daemon, Some channel flags are missing which causes
application to select wrong channel.

Add changes to correct channel flags.

Change-Id: I80834dd7f5f4bfbd2fce88084a938356a741140c
CRs-Fixed: 2068354
2017-07-11 07:27:12 -07:00
Srinivas Girigowda
3ea486def5 qcacld-3.0: Fix clang warning implicit conversion enum hdd_wmm_user_mode
warning: implicit conversion from enumeration type 'enum hdd_wmm_user_mode'
to different enumeration type 'eCsrRoamWmmUserModeType' [-Wenum-conversion].

Add a utility function to convert enum hdd_wmm_user_mode to
eCsrRoamWmmUserModeType.

Change-Id: Iefbe7dd55bd51da2e019b528d64f9889abfd4d32
CRs-Fixed: 2055487
2017-07-11 05:47:36 -07:00
Srinivas Girigowda
bbbecad526 qcacld-3.0: Fix clang warnings implicit conversion enum pkt_filter_action
warning: implicit conversion from enumeration type 'enum pkt_filter_action' to
different enumeration type 'eSirReceivePacketFilterType' [-Wenum-conversion]

Change-Id: Idc819573712a54676ed0ba84d2032d80fd78b3b7
CRs-Fixed: 2055487
2017-07-11 05:47:34 -07:00
Manjunathappa Prakash
c446853fc2 qcacld-3.0: Remove debug logging LRO context
"hdd_lro_rx 159: ctx " debug log was added for Napier emulation
LRO feature verification. Remove debug logging as the feature is
merged now.

Change-Id: Ib49ce9275dee1579e24c5de25ca6ff29e50a21df
CRs-Fixed: 2074005
2017-07-10 21:46:09 -07:00
Yue Ma
0615235c4c qcacld-3.0: Add support to simulate host driver initiated recovery
Expand crash_inject command so that it can be used to simulate host
driver initiated recovery.

Change-Id: Ia29a528c7153ea2ca62094909cb535f218f7bf88
CRs-fixed: 2068035
2017-07-10 21:46:07 -07:00
Naveen Rawat
d0ca44133d qcacld-3.0: get statistics code path cleanup
HDD always sets periodicity=0 and cache=false so all logic
that exists to support these options can be removed from SME/CSR.

Change-Id: Ica9848badd09d14f50c44998ce830568e2b76024
CRs-Fixed: 2063484
2017-07-10 16:59:07 -07:00
Ravi Joshi
04a1c99c32 qcacld-3.0: Set LA bit and reset multicast bit in the mac addr
Locally administered bit needs to be set and multicast bit
needs to be reset in the interface/vdev mac address.

Change-Id: Ifdc39a8137617ebf2d09434deba13767f0c7cf34
CRs-Fixed: 2059150
2017-07-10 13:36:30 -07:00
Amar Singhal
7f55e34ea7 qcacld-3.0: Modify regulatory apis to pdev level
To support reg-domain at pdev level, modify the usage of some
apis to pdev level.

Change-Id: I37c504f77c7704553714cc74cba6c5ef882e774c
CRs-Fixed: 2048784
2017-07-10 09:37:08 -07:00
Ganesh Kondabattini
099e6e8d6a qcacld-3.0: update attribute validation policy
Update attribute validation policy for
QCA_WLAN_VENDOR_ATTR_SAP_MANDATORY_FREQUENCY_LIST vendor attribute

CRs-Fixed: 2069917
Change-Id: Iea67767d9dc324f4cf87cc0838c7f34a6e47d75c
2017-07-10 05:51:33 -07:00
Rajeev Kumar Sirasanagandla
bff450c4e7 qcacld-3.0: Avoid concurrent matrix max param overread
Currently there is no nl policy defined for vendor sub command
QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX which may result in
buffer overread error.

To resolve this, add nl policy.

Change-Id: I155efdbb07f1c5fe300bb2be0c2a3fe07c7e134b
CRs-Fixed: 2054690
2017-07-10 03:30:29 -07:00
Ganesh Kondabattini
d921ed9fb4 qcacld-3.0: Update DBS capability in vendor command
Update the DBS capability of HW in vendor attribute
'QCA_WLAN_VENDOR_ATTR_CONCURRENCY_CAPA' of vendor sub command
'QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES'.

CRs-Fixed: 2064411
Change-Id: I79ddd50a31c7627706684ddb1e5dbab667bf028d
2017-07-10 02:45:52 -07:00
Ravi Joshi
4f095955f4 qcacld-3.0: Enable Napier monitor mode configuration
Host is required to send HTT messages to firmware to configure
and enable monitor mode. The HTT message requests the firmware
to subscribe the TLVs, packet types and also monitor mode type.

CRs-Fixed: 2071621
Change-Id: If2da5de01f3a7eb594e25b421bc17f97498c8a92
2017-07-09 01:40:05 -07:00
Varun Reddy Yeturu
c4631fb7f1 qcacld-3.0: Increase scan ageing value for emulation
Increase the scan ageing timer value from 30 seconds
to 90 seconds for the configuration item
gScanAgingTime

Change-Id: Ic4f87c20601f753c71710d20ed98bdb774538f82
CRs-Fixed: 2072461
2017-07-08 23:41:17 -07:00
Deepak Dhamdhere
612392c937 qcacld-3.0: Add .ini configuration for max number of AMSDU
qcacld-2.0 to qcacld-3.0 propagation

Host driver can send number of max AMSDUs in transmit frames.
Added a call to process_wma_set_command() similar to CLI
command processing for GEN_VDEV_PARAM_AMSDU during device
initialization.
Changed name of the field from isAmsduSupportInAMPDU to max_amsdu_num
in several places. Existing SME and LIM code passes this parameter
to WMA, but it is not used there. It may be useful if AMSDU setting
is changed to per-vdev basis in future.

WCNSS_qcom_cfg.ini changes:
Removed - "gAmsduSupportInAMPDU"
Added - Name = "gMaxAmsduNum", Min = 0, Max = 3, Default = 1

Actual function call to ol_txrx_aggr_cfg() send the parameters to
firmware is commented out because it is not implemented in firmware.

Change-Id: I2dfdd8c8c4a8807596ff28eee192ef66ac425653
CRs-Fixed: 871686
2017-07-08 13:41:35 -07:00
Naveen Rawat
5a6f840edf qcacld-3.0: Randomize NDI mac address
Randomize NDI mac address and avoid potential conflict with FW's
generated NMI mac address by setting LSB of 6th byte to 0.

Change-Id: I8b194fb06bfd1abc46c40124c813a9880d631114
CRs-Fixed: 2053119
2017-07-07 13:51:31 -07:00
Naveen Rawat
c4b045cc81 qcacld-3.0: Enable support for multiple NAN Data Interfaces
Enable support for multiple nan data interfaces. The usespace
may need to create multiple NDIs depending on whether it
requires IP isolation or not.

Change-Id: I4391f2efdc6bdede52a73915531d39dd7798c39d
CRs-Fixed: 2028187
2017-07-07 13:51:29 -07:00
Hanumanth Reddy Pothula
90051789ab qcacld-3.0: Update valid rssi value to upper-layer
For a small window during roaming and new connection, there is a
possibility of firmware to send the invalid rssi value(other than
0-127), leading driver to send the same invalid rssi value to upper-layer.

To mitigate this issue:
1) Either send previous valid rssi value to upper-layer on receiving invalid
   rssi value from the firmware.
2) Or if previous rssi value is not valid, fetch rssi value from beacon frame
   of connected AP from scan cache.

Change-Id: I4443ed06cd80826ff386c2b4a536a2dc1a1e0881
CRs-Fixed: 2042747
2017-07-06 17:50:32 -07:00
Naveen Rawat
9383625dd6 qcacld-3.0: Add option to avoid timestamp in version string
Adding timestamp in version string is causing long compile times
for wlan project. Add option to avoid timestamp so that developers
can avoid long compile times.

Change-Id: Iaa5fd4f432549844ae319451cb43929a2d4b68ea
CRs-Fixed: 2064805
2017-07-06 15:41:27 -07:00
Dustin Brown
32cb479206 qcacld-3.0: Refactor __wlan_hdd_cfg80211_get_station
__wlan_hdd_cfg80211_get_station() is notoriously overly complicated.
Begin refactoring this function by factoring out some of the conditional
compilation.

Change-Id: I8a0e66a8dc4bf320080f417b196ead6df06d0995
CRs-Fixed: 2071619
2017-07-06 13:50:58 -07:00
Dustin Brown
0f5260dc35 qcacld-3.0: Refactor wlan_hdd_get_station_stats
For improved clarity, refactor wlan_hdd_get_station_stats by reducing
nesting.

Change-Id: I3382a9a0f077e741bb3f8d78cd2e59c9a58d6548
CRs-Fixed: 2071623
2017-07-06 13:50:56 -07:00
SaidiReddy Yenuga
466b3ce1b0 qcacld-3.0: Fix memory leak issues in HDD
In few instances memory allocated dynamically, but
its not freed after usage.

free the allocated space after usage.

CRs-Fixed: 2041467
Change-Id: Iae551cd3acbb6bc2618f05cfdc33e4f742d63192
2017-07-06 07:45:23 -07:00
Manikandan Mohan
71844ea2cb qcacld-3.0: Move IPA SSR deinit after CDS Sched close
Fix crash due to race condition between MC thread and shutdown
sequence worker thread by moving IPA SSR deinit after MC thread
shutdown.

Change-Id: Id9ee6de5b176e302f865ab959aca29fb708dd6bc
CRs-fixed: 2071804
2017-07-06 03:50:29 -07:00