Add change to allow randomizing mac address used in STA mode RTT
ranging using ini param control.
Change-Id: Ief3814ef758476d2617d8176daade2128c2b250a
CRs-Fixed: 2205953
Currently there is no provision to decide delay between two roam
scans in firmware. With these new ini's, driver wants to expose
control to decide delay between roam scans:
Add ini "min_delay_btw_scans" to set minimum duration allowed between
two consecutive roam scans. Fw should not allow roam scan if duration
between two consecutive roam scan is less than min_delay_btw_scan.
Add ini "roam_trigger_reason_bitmask" to set default value of
bit-mask containing roam_trigger_reasons for which
min_delay_btw_scans constraints should be apply.
Change-Id: I2af9d5dc8e6919eeb90251d3d744e3f07705e776
CRs-Fixed: 2221779
Currently hdd_display_stats_help() is a public function exported by
wlan_hdd_wext.h. But this function is only used internally within
wlan_hdd_wext.c, so remove the public prototype and instead make the
function static.
Change-Id: Iaed10720f0f325794481bbb7ad9f743deb6b7b15
CRs-Fixed: 2227013
Add new ini item "enable_ftopen" to enable/disable FT open
feature. There is no ini currently to disable only FT open.
Change-Id: I18280d9de77857b15698eb233ba4ec71089beb06
CRs-Fixed: 2214766
The SoftAP VSTA feature was introduced to overcome a limitation in a
prior version of WLAN hardware. Since the WLAN hardware supported by
this driver does not have this limitation, remove the feature code.
Change-Id: I1f2fe31b294fb7b2da1fa8619b3380412c5d872e
CRs-Fixed: 2224817
The driver supports a "SSR injection" feature that is used during
testing to validate certain recovery features. Currently this feature
is protected by a generic WLAN_DEBUG feature flag, and in addition
there are two separate debug ioctl handlers which have duplicate
code. In order to better support a finer level of configurability
introduce a new configuration flag and consolidate to a single
implementation of the feature under that flag.
Change-Id: I73e8dd4580ca53d129ae0181ffc46d011699f3dc
CRs-Fixed: 2224815
Add new ini item "ho_delay_for_rx" to set delay Hand-off
period. For LFR 3.0 roaming scenario, once roam candidate
is found, firmware waits for minimum this much duration
to receive pending rx frames from current BSS before
switching to new channel for handoff to new AP.
Change-Id: Ided9a81e9402259f5df6b42926b3fa336b6bb4d0
CRs-Fixed: 2221748
Currently, Logic to reject concurrent ACS scan is present
in Hdd context and variables for this context is common for
both softaps(softap1 and softap2). Due to this in case of dual
band SAP mode, if an ACS scan is in progress for softap1 then
driver rejects any ACS scan on softap2, which is not acceptable.
Fix is to move logic to reject concurrent ACS scan from
hdd context to adapter context.
Change-Id: I9d2b437523ef6ac5794e7952ac6cd35d1c2f778b
CRs-Fixed: 2206499
Whenever hw_mode=any is set in hostapd.conf, BAND_ALL is sent to
HOST driver from hostapd. ICM module doesn't support BAND_ALL
and so HOST driver internally changes the band to BAND_2G or BAND_5G
based on acs_freq_band and update the channel list and ch_width
accordingly.
ICM module supports BAND_ALL now so don't do any optimization on
band in HOST driver.
Change-Id: Ia0b554f72ba0d5063ff622edbe1fa7113b984142
CRs-Fixed: 2224675
Currently non-linear, non-tso TX data is not handled correctly,
only the non-tso, single linear data is supported. the frag paged
data in skb is missed while packet length for HW access
is entire packet length, HW DMA failed.
temporarily to linearize skb so that non-linear data could be TX
correctly.
Change-Id: Ic0f2b7a0b021ca190c870551a66181f50ae72c65
CRs-Fixed: 2180318
Suspend/Resume unit test IOCTLs and other unit test features are only
enabled in defconfig debug builds and always disabled in production
builds. Add CFG INI item to disable these test IOCTLs even in defconfig
build such that by default on all build combinations unit test IOCTLs
are always disabled.
Change-Id: I71a63d2b85800b630d7c18eb77a3cffddcd66fbb
CRs-Fixed: 2221874
There is a chance that kernel can trigger suspend while
connection in progress. If driver allows this suspend, this can
result in fw panic.
Specific scenario:
If driver allows suspend to go when it waits for probe response,
fw least expects suspend indication as fw is in vdev start state.
This unexpected suspend indication in vdev start state can cause
fw panic.
Hold wakelock till the completion of association to fix this issue.
Change-Id: I168ead2ab1ef4fff1d9af3f3142c82536c3f4798
CRs-Fixed: 2217140
After SSR, FW clear its txrx connectivity stats.
In host, as adapter is intact, host connectivity
stats counts are still available. Now if the set
stats command is used again, then host increments
its counts start from its last saved value, i.e.,
count before SSR, and FW increments its count from 0.
This sends a mismatch of packet counts b/w
host and FW to framework that creates ambiquity.
To address the issue, reset the host counts so that after SSR
both FW and host start increment their counts from 0.
Change-Id: I11f849d6f00abe11f3bb8947cc81e47a3bc004fa
CRs-Fixed: 2202890
Issue is under AP-AP MCC config, mcc event is not sent from wlan
to IPA driver. mcc mode is decided with the help of connection
table. But for AP mode, mcc mode is checked and updated before
connection table is updated by adding the SAP vdev entry.
Fix is to make ipa mcc mode check and notification when connection
table is updated. Since block is not allowed when conn table is
updated, a new work_struct mcc_work is introduced.
Change-Id: I935222e26bb3f6b31685f52b75084b034daccad2
CRs-Fixed: 2075876
Currently hdd_set_peer_rate() is implemented in wlan_hdd_wext.c with a
prototype defined in wlan_hdd_wext.h. But the only client is located
in wlan_hdd_hostapd.c, and since that is where the "master mode"
ioctls are handled, relocate hdd_set_peer_rate() to wlan_hdd_hostapd.c
and make it static.
Change-Id: I5ec9c43b29fafc75cb35f1ee465c86acbc6b3b2c
CRs-Fixed: 2219456
Refactor the Green AP configuration so that it can be easily excluded
when the feature is not enabled, and to support transition to the
converged configuration model that is under development.
Change-Id: I275833f4c60c315937a6fba3f403eb54925e151c
CRs-Fixed: 2218656
Since camelCase is frowned upon in the Linux coding style, rename
field enableGreenAP in struct hdd_config.
Change-Id: Ie541289f79b2bfe9f2bf490bbcde7e0649e0395d
CRs-Fixed: 2218692
Refactor the hdd portion of the Green AP feature so that it can be
easily excluded when the feature is not enabled.
Change-Id: I986c5ab7640b3182a12bef93748affefba067251
CRs-Fixed: 2216247
Recent change in hdd_is_tx_allowed function causes failure in Tx of WAPI
Auth frames. Add check in this function to allow Tx of WAPI auth frames
so that device can connect to a WAPI AP.
Change-Id: Id5d4d31385309381383dec432698a8ac625845ad
CRs-Fixed: 2217090
Change the MIN, MAX and Default values of the ini
CFG_TX_SCH_DELAY_MIN to 0, 5 and 2 respectively.
Change-Id: I27d6110d69ba885535933e31dcca4e08865a7dc8
CRs-Fixed: 2216634
There is 1ms TX delay enabled in TX sch module if
frames queued in FW SW queue are less than 32.
This results in Tx delay in FW, and causes response time higher.
Add ini configuration to enable/disable Tx delay.
Change-Id: Ic180431ed2d0848df3dbb144f6b2bd70db61e5f4
CRs-Fixed: 2214307
Change the OCE WAN weightage to 2% of the scoring weightage and change
the slot size to 15 and fill the values for each slot in INI.
Change-Id: Ic67cde29a9dfdfaf6022bab106432ef2950e2340
CRs-Fixed: 2208283
Currently the HDD Green APIs do not have a consistent prefix. In
preparation for refactoring this feature, rename the HDD Green AP APIs
to have a consistent prefix.
Change-Id: Ib4d9a6db6ffacd9e19277d95f4976805d0bb6fa3
CRs-Fixed: 2216246
The AP auto shutoff feature controlled by INI item nAPAutoShutOff is
obsolete, so remove it.
Change-Id: I9e96bee36acc1ea1ac6f775ae04b31929bcb8406
CRs-Fixed: 2215925
Use in_compat_syscall() to query the syscall type, so it works properly
on all architectures. Also maintain backward compatibility with older
kernel.
Change-Id: Ife19c9874dcacc18c5d19c1175988bee66ea1cdd
CRs-Fixed: 2215566
Currently NUD events are used by Framework to detect
the Network Reachability. Framework issues disconnection
for NUD_FAILED event.
Now, NUD events are tracked within driver to detect the
reachability and based on TxRx traffic, driver takes decision
to issue disconnection.
Change-Id: I461610c220288ff1fd718bb7bc2dd8375588505c
CRs-Fixed: 2195796
Currently HDD defines function hdd_wlan_get_freq() which uses
it own static table to perform channel to frequency mapping. This
duplicates functionality provided by the converged regulatory
function wlan_reg_chan_to_freq(), so remove hdd_wlan_get_freq()
and update its only client to use wlan_reg_chan_to_freq().
Change-Id: I6fcb11b9b967ab77dcd7c8d0c1bc185ee3c18913
CRs-Fixed: 2215576
Deprecate enum wmi_dwelltime_adaptive_mode and use enum
scan_dwelltime_adaptive_mode defined in scan component.
Change-Id: I9c33b852172d9208fb8440c6dc71a12aefd717da
CRs-Fixed: 2213150
The Data Path in the WLAN host driver needs to be sending DHCP START/
STOP indications to FW during DHCP based IP address acquisition phase
in the SAP mode.
Inspect the Tx/Rx frame, and send the notification to the FW through
WMI message.
Change-Id: Iad6308980a7158516f341b97f3baffab1e4c4bc3
CRs-Fixed: 2114816
Enable auto PS timer in hdd config such that adrastea
is never stuck in full power mode.
Change-Id: I2668b7c1ba64b67bf524e449e96ec6d79a2c1676
CRs-Fixed: 2214124
wlan_hdd_disconnect wait time is 5 second.
WMA_VDEV_STOP_REQUEST_TIMEOUT is 6 second.There have 1 sec gap.
Which means if timeout happend, wlan_hdd_disconnect will exit before
wma_vdev_resp_timer is invoked. wma_vdev_resp_timer will trigger SME
to invoke callback hdd_dis_connect_handler to release vdev obj ref
count.
If unload driver during the time gap, vdev cannot destory
successfully because hdd_dis_connect_handler haven't be called.
rmmod will wait for wlan_hdd_disconnect exiting then unload driver.
So increase hdd disconnect wait time. Make sure wlan_hdd_disconnect
exit after lower layer timeout and hdd disconnect handler be called.
Change-Id: I8fddae200ed675b93c0f300a9e28dbbfd3a976a6
CRs-Fixed: 2201448
In HDD there are currenty two different callback functions which were
formerly used to synchronize country code changes with SME:
- wlan_hdd_change_country_code_callback()
- wlan_hdd_change_country_code_cb()
With the "converged regulatory" implementation these are no longer
used, so remove them.
Change-Id: I65da8160c9057383ad3ccf3b2094b4c52fcf5a47
CRs-Fixed: 2212959
Currently quite a few stats-related APIs which have no dependency upon
wireless extensions (wext) are located in wlan_hdd_wext.c. Relocate
the following functions to wlan_hdd_stats.c:
wlan_hdd_get_rssi()
wlan_hdd_get_snr()
wlan_hdd_get_linkspeed_for_peermac()
wlan_hdd_get_link_speed()
wlan_hdd_get_peer_rssi()
wlan_hdd_get_peer_info()
wlan_hdd_get_class_astats()
wlan_hdd_get_station_stats()
wlan_hdd_get_temperature()
Change-Id: I72a35f33648f20bbb2c01bb81cea409f6e80ee00
CRs-Fixed: 2212113
We need to set chainmask for BT /wlan share antenna
case, e.g:
2.4g:wlan 1x1 on chain 1, BT chain 0
5G: wlan 2x2 chain 1&0.
Add ini enableBTChainSeparation, default 0.
If enableBTChainSeparation set 1, chainmask will
be set to FW event though 2x2 case.
Change-Id: Ifc8c2c64824c793b72a7caa878f500c71f722e17
CRs-Fixed: 2206935
Added ENABLE_DBS_CXN_AND_DISABLE_DBS_SCAN option for the ini
gDualMacFeatureDisable. To enable dbs support for the
connection and disable dbs support for the scan.
Change-Id: I05c613467195fffac98e79b7e4a2991471ac1d80
CRs-Fixed: 2202919
In addition to actually registering with wireless extensions,
hdd_register_wext() initializes data structures associated with the
STA's roam profile. Since roam profile initialization is independent
of wireless extensions, refactor all of the roam profile
initialization code out of hdd_register_wext(), and relocate it to
wlan_hdd_assoc.c.
Change-Id: Ibd19b02373694b169ba9c122c812a264e6b8a63b
CRs-Fixed: 2212067
Previously the INI item standard_wext_control was used to control
whether or not standard wireless extensions (wext) ioctls were allowed
to be called. But since they were obsolete, all support for standard
wireless extensions ioctls have been removed from the driver. As a
result this INI items is also obsolete, so remove it.
Change-Id: I608f54fc13df691fe3d3774fdecdbfa9e0b553f8
CRs-Fixed: 2211124
None of the data items contained in struct hdd_wext_state is actually
unique to wireless extensions(wext) -- cfg80211 also uses these data
items. Since all of these data items are now being accessed by
accessor functions, rename and relocate them to struct
hdd_station_ctx.
Change-Id: Icfdde73ed3f01fb1c48105e0728f610fe1d94717
CRs-Fixed: 2208687
Currently HDD maintains an auth key management bitmap as field
authKeyMgmt in struct hdd_wext_state utilizing bitmaps defined by
wireless.h. This current implementation suffers from the following
issues:
- The implementation is independent of wireless extensions so it
should not use wireless.h definitons or be stored in a wext-related
data structure.
- The name uses camelCase which is inconsistent with the Linux coding
style.
To address these issues define a new set of bitmps along with a
properly named field located in struct hdd_station_ctx.
Change-Id: I0d1c66236f88b7e6486b2d03c3383ef38f80c134
CRs-Fixed: 2207904
As part of converged driver model remove IPA from
HDD and create a new IPA CLD component. Remove the
legacy code from the HDD.
Change-Id: Id4691e0f490c2f9bd9ccc8d5225be32002a5df9e
CRs-Fixed: 2177925
Currently the roam profile associated with an adapter, along with two
accessory buffers, are located within the adapter's hdd_wext_state
structure. However the roam profile is independent of wireless
extensions (WEXT) support, so there is a plan to relocate these
structures. In order to facilitate this relocation first introduce
accessor functions.
Change-Id: Ifdec89d3b529eb50042b08b31615854791024e4d
CRs-Fixed: 2207887
In order to better align with the rest of the driver, rename the
following macros:
* ENTER -> hdd_enter
* ENTER_DEV -> hdd_enter_dev
* EXIT -> hdd_exit
For part 5, remove the original macro definitions
Change-Id: Ic456c9ded0006989410bd7b2a318f4583c99f54b
CRs-Fixed: 2205851