In PMO architecture, Linux Network Stack is unpaused earlier
than DP resume handler, some TX frames are dropped as DP
resuming is not ready. Change is aimed to fix the
unpause sequence.
Change-Id: I6cfcc7c4dd77f9cbcf1ac5b4a3d78a35dc3d16bb
CRs-Fixed: 3350279
Add resume and suspend support for rx thread, rx refill threads
in HDD module through DP componentization.
Change-Id: I0cdd0d43ac742ef55fad2155bc8df063c5bb8657
CRs-Fixed: 3316821
Add Rx thread and Rx refill thread feature support for
CDS module through DP componentization.
Change-Id: Ie4f0a7f52fca75d75ac57f263051a5fa5a61651b
CRs-Fixed: 3316849
Currently hdd_medium_assess_init() and hdd_medium_assess_deinit()
are not paired with event the events eSAP_START_BSS_EVENT and
eSAP_STOP_BSS_EVENT respectively. Hence multiple call traces
can be seen for eSAP_STOP_BSS_EVENT if eSAP_START_BSS_EVENT is
not invoked from __wlan_hdd_cfg80211_start_ap or SSR sequence.
To address this issue invoke hdd_medium_assess_init()
for eSAP_START_BSS_EVENT only from hdd_hostapd_sap_event_cb
if timer is not initialized already.
Change-Id: I361e371c8b59a226fe6cae97c6f66bec46eeeb0f
CRs-Fixed: 3349485
Host driver tries to fetch info of disabled ML links from
pm_disabled_ml_links by passing arrays to fill vdev_id_list,
freq_list and ml_idx list. Disabled + enabled links together can't be
more than MAX_NUMBER_OF_CONC_CONNECTIONS from functionality perspective.
But static analyzer tool complains that there are chances for out of
bound access of the given arrays while filling the indexes. Add checks to
avoid any such possible out bound access.
Change-Id: Icff77f9700c782f05e10c1d0aee8e1f238b0cc94
CRs-Fixed: 3344532
The adapter create flag for is_ml_adapter is set to true
by default for mission mode on primary interface and in
hdd_open_adapter() the flag is set but MLD is set only
after checking if target supports 11be. This leads to
adapter being set as ML type but MLD is null.
Check the target 11be capability as before making
adapter ML type and in open adapter for mission mode
bring the is_ml_adapter under if conditional check.
Change-Id: Ic0325ea6fde364e5180e9d164095b79bdabfee41
CRs-Fixed: 3352138
Currently in wlan_hdd_tsf_reg_update_details there is check for
change in tsf_id and mac_id, If current and new values are same
tsf_details_valid bit will not be set (In case of tsf_id = 0 and
mac_id = 0), which we result in host continuously reading via WMI
command instead of scratch register.
So to Fix the issue only check for tsf_id_valid and update the
values.
Change-Id: I8007a40baa7be249afa5ff316d57983983ce988a
CRs-Fixed: 3351476
The current algo maintains valid channel list for NDI from regulatory
channel list which leads to high space and time complexity.
As it is known that there are only three channels (144, 44, 6)
to support the NDI, so check for valid channel from these three
channels, instead of extracting from the channel list. If none of
above channels are valid, then take first valid channel from channel
list.
In this way, no need to maintain the channel list which helps to reduce
the time and space complexity.
Change-Id: I5dd2757ca952f4aaeb2a9ed74a47b4e547890245
CRs-Fixed: 3340778
Some skb for vendor command reply is allocated with internal
API but reply/free is done with kernel APIs, which will break
the buffer tracking once NBUF_MEMORY_DEBUG and NETLINK_BUF_TRACK
are enabled.
To fix it, replace kernel APIs with internal APIs accordingly:
Replace cfg80211_vendor_cmd_reply() with
wlan_cfg80211_vendor_cmd_reply().
Replace kfree_skb() with wlan_cfg80211_vendor_free_skb().
Change-Id: If4f37b5dca5483a9b64c726d37d3959d3ecd699e
CRs-Fixed: 3350756
Refine the TX flow info setting independent on the IPA module to enable
the TX flow control feature for the TCP/UDP when IPA module is disabled.
Change-Id: Ib5d708e405dc93f410f100a5c335875b30601981
CRs-Fixed: 3346767
User can include/exclude the frequencies in roam full scan that
were already scanned by the previous partial scan, using the new
vendor attribute introduced as part of roam vendor command.
Host sends the configured value to firmware.
As per current implementation of roam scan, if there are no APs
found during partial scan, immediately a full scan will be
initiated as a fallback. This includes all channels that were
already scanned as part of partial scan.
This attribute controls the optimization, to exclude all channels
which are already scanned as part of partial scan.
Change-Id: Icd6381b4daadcfe32dabda131ae92e2e32f07f1d
CRs-Fixed: 3343657
Host reserved 8 bytes for CCMP header trailer and initialize them as
0 when rmf enabled & key installed and tx addba rsp frame. But, host
doesn't handle this case when get tx addba response confirm and unpack
this frame again. Which case process addba request frame failed all
the time and disconnection. So, add this change to search the pointer
to addba response and then unpack it.
Change-Id: Id4251d83befabb43843a0dd4888f601af3f37f72
CRs-Fixed: 3338294
Even though host already disabled BMPS during P2P connection in
progress, the PM lock in FW side still held and released again and
again. Which takes long time during P2P connection. Per suggestion
from FW team , set pdev parameter with id -
WMI_PDEV_PARAM_POWER_COLLAPSE_ENABLE,
value 0 - hold lock
value 1 - release lock
This change also fixed some kernel-doc error.
Change-Id: Iba130477595ca8952c5fe0c5ce7ad60b737e4c43
CRs-Fixed: 3331991
Move Action OUI INI config to component.
Add ucfg API to load/parse the configuration.
Change-Id: Ibaab5428bc575394b9a5b464639d24f80f042e93
CRs-Fixed: 3310697
Observed NAPI of REO2SW1 hard to complete caused by slow CPU/schedule
on REO2SW1, hence IRQ of REO2SW1 keep disabled during the polling which
impact other MSI as well in single MSI case, until hit REO2TCL timeout
and crash.
The fix is complete the dp rx NAPI poll and re-enable the irq if the
irq disabled for long time.
Change-Id: Iad53b39c8b8d6a99a9006149e7579f8dc3c93e39
CRs-Fixed: 3134851
Need to set default value for tdls_feature_set to
fix the 'variables may be used uninitialized' issue.
Change-Id: I1cab38220240432c620a83ecb2f4feefb71f2e4f
CRs-Fixed: 3342670
Introduce a new API to configure the latency level for the adapter
which is currently configured in the hdd_start_station_adapter()
Change-Id: Icc91ca253de8f9590f4530d976bd4b54cf7a3eba
CRs-Fixed: 3297686
Currently, If AP doesn't allow Prohibit to be set and user tries
to enable prohibit, host doesn't send command to FW to enable prohibit
but doesn't send failure status to user space.
Fix is to send failure status to userspace in case prohibit is not enabled.
Change-Id: Ic983b85d27e16314f63c02f88d3b1689d587d622
CRs-Fixed: 3344607
After starting SAP on channel 6, then issuing setChanChange
command. Per the sniffer log, the rate list of extended
supported rate is wrong in the beacon and probe response.
It is happens because in wlansap_fill_channel_change_request,
when it copies the extended supported rate list, it uses
parameter sizeof(dot11_cfg.ext_rates.numRates) instead of
dot11_cfg.ext_rates.numRates, so it only copies the first rate.
Change-Id: I7f23254fbd6ce56be69dbea634d9d99f3b611448
CRs-Fixed: 3345554
At present the set/get user powersave state to MLME and send
command STA powersave mode to firmware operations are not
protected by lock.
Supplicant thread and hdd_ipv4_notifier_work_queue may have
race condition to access the user powersave flag. In that
case the STA powersave state may out of sync.
Fix by acquire sme lock to protect the powersave state set
sequence.
Change-Id: I76d848ea191f2319d015e0d70efad28f56a57d27
CRs-Fixed: 3342696
Introduce a new API to move HT VHT IEs initialization
code from hdd_init_station_mode() function.
The new API will have vdev objmgr as function parameter
which can be used to operate on per vdev instead of adapter.
Change-Id: Ifc6766f0d2ae8c0b272099a56b38ea71236eea08
CRs-Fixed: 3297555
For channel frequency 5825 MHz, need to check regulatory
API support 20 MHz band width only before reject it.
Change-Id: I6d4ac072e181921852603107b650d9349205e54d
CRs-Fixed: 3332847
Correct the param mis-used issue when function
wma_handle_vdev_detach invokes function
wlan_mgmt_txrx_vdev_drain.
Change-Id: Ied3118028d881c2c0d4300daa6b24515b2797781
CRs-Fixed: 3349006
Refactor the hdd_vdev_destrory() API to move the wait
on vdev destroy event to a new API.
Change-Id: I8c27a12ab8aa5967cafb1b31475ea23ba9241cbe
CRs-Fixed: 3307015