In some instances, AP does not respond to probe req
causing join timeout at STA and no connection.
To solve this,send multiple probe requests(every 200ms)
to AP until join failure timeout(1 sec) expiry,
if single bssid case retry same bss again
(configurable via ini, max allowed tries 2).
Change-Id: I7a7eeedcc24db1a74cd186ff957c638a39cdea6d
CRs-Fixed: 2763815
During the driver initialization if there is any issue,
in the error path the shutdown notifiers are not getting freed.
To resolve the issue purge the shutdown notifier before the
stop modules.
Change-Id: I51b20e5cddf558bb366b46f0650ac65754f23dcd
CRs-Fixed: 2761406
Beacon stats are supported for both STA and P2P client devices,
with the changes to move the sysfs creation on interface this is
regressed.
Add the support back for beacon stats creation for p2p.
Change-Id: Ia329752cc5d4f0a338395d9416b8d444417ea567
CRs-Fixed: 2764053
Uevent callback from the platform driver could be called
in the interrupt context. Logging in the interrupt context
could result in thread taking more time resulting in
other system issues. Hence reduce the loglevel so that log
would be sent to the logging thread instead of console.
Change-Id: Ia07325d5bc00603c5b6cf1e0f98256997526edec
CRs-Fixed: 2756175
Check if NAN SRD operation is enabled in the ini
"etsi13_srd_chan_in_master_mode" and send the same to firmware
for all SRD channels.
Change-Id: I2aa8fd34c67b2061963b62a34d29c73740af3a76
CRs-Fixed: 2748455
Currently the driver enables the SRD channels
support for both P2P_GO and SAP if the SRD master
mode is enabled.
Have individual ini values to enable/disable
the SRD channel for each op-mode as required.
Change-Id: If6e66996ed19dacbde7f71a6702f378a7e9a273c
CRs-Fixed: 2748446
scenario:
(1) thread A is doing hdd_stop_adapter() and the caller outside of
hdd_stop_adapter will acquire the rtnl lock, dp_vdev_detach_wifi3()
in hdd_stop_adpater() will notify DP thread B flush stack GRO frames
and wait DP thread B response/set vdev delete event.
(2) but if DP thread B is under processing RX frames and do local
ARP check for ARP request, it will wait and try to acquire rtnl
lock as well, dead lock happened. Until thread A wait vdev delete
event timeout and corressponding net_dev/hdd_adapter is freed, then
DP thread B get chance to acquire rtnl lock but hdd_adapter/net_dev
has been freed, hit panic.
Use rtnl_trylock() instead of rtnl_lock() in hdd_is_arp_local(),
if rtnl_trylock() failed, assume this is local ARP and return,
else do the local ARP checking same as before.
Change-Id: Ic6724b68f6e09e9d139c430396e4c76bf483d033
CRs-Fixed: 2760979
The ini ratemask_type and ratemask_set can be used to limit
the maximum phy rate. The ratemask_type is used to select
the phy mode and the ratemask_set to select desired NSS and MCS.
It can be used to optimize link performance.
Change-Id: Ia5c9f3a80eb93710bdcf53dabc4a45e554753b01
CRs-Fixed: 2758859
Host add support to process frequency if user sends frequency in
place of channel number in driver commands i.e. REASSOC,
SENDACTIONFRAME, FASTREASSOC.
Change-Id: I6e6d15a237d9bb1a973e9f42772c2f02e32fc585
CRs-Fixed: 2760074
In LFR3 Handoff failure case, data path peer teardown is not
done prior to cdp peer delete and this causes bug_on to be
triggered during cdp peer delete.
Fix is to invoke wma_remove_peer() in vdev stop response path
with ho_failed flag set.
Change-Id: I112b2e8fe1792a967c48138113766b649ee1ba26
CRs-Fixed: 2760180
The 2nd parameter to qdf_scnprintf() represents size of the buffer.
If 'size' bytes is written in to the output buffer then for the next
subsequent qdf_scnprintf() 'size' bytes must be substracted from the
size of the output buffer.
The problem in this code is, 2nd parameter is mentioned as PAGE_SIZE,
but instead it should be PAGE_SIZE - size.
Change-Id: I82c6b4a279eb912c693a4f026c2f672902ce3f76
CRs-Fixed: 2760078
Add user configuration support to configure dot11 modes for
different vdev types.
Change-Id: I338d9d76f000195d1798bbc8b3b7ff1fb33ee305
CRs-Fixed: 2760240
Currently driver does the pdev close on set band failure at
the time of load which results in driver load failure.
To avoid above issue, do not close pdev and continue the
driver load smoothly.
Change-Id: I0977336b57126b299bd40dd6c18d9009b52454dc
CRs-Fixed: 2756716
If the initialization vector is zero, some IOT APs unable to decrypt
auth sequence 3 frame, which leads to disconnection. As IV is first 3
bytes of uninitialized "seed local variable", there are the changes of
having IV value as 0.
Hence host prepares non-zero initialization vector to encrypt auth
sequence 3 frame.
Change-Id: Ifc24ccc6c669bac3fc0389670580f6a9ec2672a0
CRs-Fixed: 2750718
Curretly data type of code for mac trace is uint8_t and
qdf trace expects the data type of code as uint16_t because of
which it may result in incorrect code type for the messages with
message id in uint16_t.
To address above issue change the type of the mac trace to
uint16_t.
Change-Id: I11c5160e2b15258390134ec30c43c84219c2c587
CRs-Fixed: 2719765
Nbuf users count is not updated properly during failure
case of TSO transmission this is leading to double free.
Fix is to update nbuf users count properly during failure cases.
Change-Id: I68722ec9e62157624dc8a2cd00fd479b9e9e7794
CRs-Fixed: 2759727
If join fail reason is timeout, retry sending join req
after timer expiry, timer value can be configured
via join_failure_retry_interval.
Change-Id: If90071b3f6d7f48936db6f7088c3c1547e48b294
CRs-Fixed: 2760236
Currently there is no check for WLM latency manager support,
while setting the latency level which may lead to undefined behavior.
To address the above issue add a check for WLM latency manager support
and return not supported to userspace.
Change-Id: Id095f162c1202c0a0926f4f73e553f46d4980543
CRs-Fixed: 2762357
The TTL for management packets in firmware is
1.5 seconds. To accomodate other delays involved,
increase the TWT Host timeout value from 1 second
to 4 seconds.
CRs-Fixed: 2756397
Change-Id: Ib71487ec222d8160599ff1bd061958b72f928906
Add support to send WMI_RSSI_CHANGE_THRESHOLD command to firmware
in connection manager.
Change-Id: I97d4b8f8fc0e938ede0e61d44eb8ffbcbb0fb4ff
CRs-Fixed: 2761043
RRM 11k feature is enabled or disabled based on the
rrm_enabled flag. rrm_enabled is filled from the gRrmEnabled ini.
Change the default value of gRrmEnabled ini to 1.
Change-Id: Ie2a95293c3225abc667563fcc9eed8440e46727f
CRs-Fixed: 2754534
For older targets thermal mitigation is supported for the apps.
In moselle there a new processor wpps on which firmware runs,
this commit adds the support for the thermal client wpps.
Change-Id: I89896dce808807486ef56b90812369f3d5f4b270
CRs-Fixed: 2757566
Vdev delete will purge the serialization queue for the vdev.
If the hw mode change request is flushed without waiting for
the fw completion event, it will cause issues when the fw event
coming up later and no active serialization command in queue.
In one case, the “hw_mode_change_in_progress” is not cleared
in this condition. And finally causes the new Connection req
failed to wait for hw mode change event because there is no
hw change request actually.
Fix by check and wait for hw mode response if any hw mode change
is in progress.
Change-Id: I007643f48ff1d35fbdb2c9ca9a3127bbd66d7dec
CRs-Fixed: 2760395
Currently, primary frequency is getting updated from STA context
during get_channel callback. This is causing STA disconnect issue
after channel switch. This is because sta_context won't contain
updated channel information after channel switch.
Update primary frequency from object manger. Object manager will
contain updated channel information after channel switch. Also
update the primary frequency in STA context after channel switch.
Change-Id: I059c3627fbd2c254adeb4c7e4407b1518aa0f771
CRs-Fixed: 2758925