Due to unknown legacy reason, the rates received by the driver from the
firmware are currently divided by 500 to convert it into units of
500kbps. This division by 500 is later compensated by a multiplication
with 5 to maintain units of 100kbps before being sent to the upper
layer. This division and then subsequent multiplication results in the
loss of precision (in the case the rate is not divisible by 5).
Consequently, the rate being sent to the upper layer becomes inaccurate.
Also the calculation of the MCS rate flags is affected.
Do not carry out the unnecessary division and multiplication by 5.
Instead just convert the rates into units of 100kbps (which is as
mandated by the kernel) when driver receives the rate from the firmware.
Change-Id: I05e67816651754e3b3e27b13dabc1d55b29251dd
CRs-Fixed: 2378166
In the scenario where vdev response is not received for
SAP start, HDD timer of 10secs expires ahead of vdev
response timer, which is of 12secs due to slub debug
factor. This can result in change interface to be
triggered by supplicant before fw down indication is
received. Vdev is logically deleted and peer removal
in objmgr fails due to vdev get_ref failure resulting
in peer leak on wlan shutdown.
Fix is to remove slub debug factor for vdev response
timeouts.
Change-Id: Id0741226ccaebbabb817853246c7b116bd447128
CRs-Fixed: 2376610
When host driver is setting the fw log level, there is a chance
for the loop to be unable to exit when a certain fw module's
log level is incorrectly set.
Add an additional increment to the fw module id when a certain
fw module's log level is incorrectly set.
Change-Id: Id5a0268536a4d6b74732515dac43f583174c9e51
CRs-Fixed: 2378208
Change I2a28564ccb5ad85d65a62a5e9f0ac6c500a80c2d ("qcacld-3.0: Remove
struct sTdlsLinkEstablishParams") removed the only usage of macros
HAL_MAX_SUPP_CHANNELS and HAL_MAX_SUPP_OPER_CLASSES. Since these are
obsolete, remove them.
Change-Id: Ib31ef84d69b48ba095bf587c51003911a2a3b85e
CRs-Fixed: 2378332
Change I77617df14093806f19c0d587e953f63ae86f8ffe ("qcacld-3.0: Cleanup
the unused quiet timers and TX control API") removed the only usage of
macro HALMSG_NUMBYTES_STATION_BITMAP. Since it is obsolete, remove it.
Change-Id: I5a232962a9a85f7af9b82261d70cd8a3e56413b8
CRs-Fixed: 2378331
Currently all but one of the fields in tBeaconGenParams are unused. In
addition the one field that is used, as well as the struct itself, do
not conform to the Linux coding style. Therefore replace the typedef
with a properly named struct which contains a properly named field.
Change-Id: I246f45831854db07d5ff6835a1df222e771a5146
CRs-Fixed: 2378330
Change I414269abb5a5c616cc890dab450a7782e6829d0e ("qcacld-3.0:
Management MGMT TXRX component over HTT") removed all usage of the
legacy umac_ota_ack_cb[] array in t_wma_handle. However it left behind
the actual unused array, so remove it.
Change-Id: Ia909360edefeb413025e8d437199a3f21c808030
CRs-Fixed: 2378329
Support for 80 MHz preference was relocated to the MLME
component. Change Ia5989a29378bf33e3c9550a0ae26338aeb966592
("qcacld-3.0: Apply mlme sta configuraions") removed the now
obsolete implementation of sme_set_prefer_80MHz_over_160MHz(),
but failed to remove the prototype, so remove it now.
Change-Id: Id32a1feb5ac55492ae0b76d4dc75867bbe834b4a
CRs-Fixed: 2378328
Change I3226438b908a96f1b1bd3c2968a0c20eef81a799 ("qcacld-3.0:
Populate correct supported rates from hostapd.conf file") removed
the logic which previously utilized the supp_rate_set and
extended_rate_set fields in struct sap_context. Since these fields
are now obsolete, remove them.
Change-Id: Id433659da18d61217b45a839aaddcfbae329143d
CRs-Fixed: 2378327
Change I83a704d3f03e9cb9e6a7420f32d609a323799a12 ("qcacld-3.0: Remove
legacy P2P codes in SAP") removed the usage of the sap_roc_ind field
in tSap_Event. Since it is obsolete, remove the field along with the
underlying struct sap_roc_ready_ind_s.
Change-Id: I6101ec7874825b8e4e2e891c3f8ae084486eef87
CRs-Fixed: 2378326
The driver has a lim_send_addts_rsp_action_frame() prototype, but not
an implementation. Since the prototype is obsolete, remove it.
Change-Id: Ib4e8a6d1d33c1e5d39e9801a883486a12f030f17
CRs-Fixed: 2378324
The psstate field in tPowersaveoffloadInfo is unused, so remove it,
along with the underlying tPowersaveState typedef.
Change-Id: I0328bcce9362d4fb0786b36644b3152f979eef30
CRs-Fixed: 2378322
Changes I151fa771544e9f74b1b69b18d689176752760621 ("qcacld-3.0: Remove
oem data request passing over multiple layers") and
I95078c985c5034d9d530ad542ace129309d79886 ("qcacld-3.0: Remove global
oem data request/response buffer") removed all usage of typedefs
tLimMlmOemDataReq & tLimMlmOemDataRsp. Since they are obsolete, remove
them.
Change-Id: If387f77177cfececc04f4c8ccc64efbc80505431
CRs-Fixed: 2378321
Change I77617df14093806f19c0d587e953f63ae86f8ffe ("qcacld-3.0: Cleanup
the unused quiet timers and TX control API") removed the usage of
typedefs tLimQuietTxMode & tLimControlTx. Since they are obsolete,
remove them.
Change-Id: I503b6c63d8440fe9aa80d8d38c19d49654621cc3
CRs-Fixed: 2378320
Most of the SIR_*_MODULE_ID values are unused, so remove the ones that
are obsolete.
Change-Id: I97f40b37bda9639be359a3a3dbdcf26d06c6c73d
CRs-Fixed: 2378318
The PMM module and message definitions are not used by the current
version of the driver. However the message ID number space overlaps
with the SME message IDs. In order to harmonize the code:
- Remove the legacy PMM Module & Message ID definitions
- Consolidate the SME Module & Message ID definitions
- Update the dispatch logic to correctly indicate it is SME and not
PMM messages which are being dispatched
Change-Id: Idcf66633c2060e52e930addaa8cecb3faf89bc90
CRs-Fixed: 2378317
The MNT module and message definitions are not used by the current
version of the driver, so remove them
Change-Id: I2840996caffdf24e4ddbe7a3a0b7d7c7f70f509a
CRs-Fixed: 2378316
Change Id685e9d94f185ee562f21d12d118e94a737a6a7e ("qcacld-3.0: Add
implementation of get_station_stats") added a prototype for function
wlan_hdd_request_station_stats() but did not add an implementation. As
a result the prototype is pointless, so remove it.
Change-Id: Idc9228bc75a8b1fae9681a1ecf290fa5f37c74f3
CRs-Fixed: 2378315
Change Ia8b85548ff64ad77b5066fe03229e2b0b2f7fae3 ("qcacld-3.0: Remove
legacy scan complete callback") removed the usage of macro
MIN_TIME_REQUIRED_FOR_NEXT_BUG_REPORT. Since it is obsolete, remove
it.
Change-Id: I7b3a79bdd9945e6fae8406d2bc038b0105139faa
CRs-Fixed: 2378314
Change I05ccc13d1b658e62b19a389e6a480707b5c446b9 ("qcacld-3.0:
Remove wext support for scan commands") removed the usage of
macro MAX_RATES. Since it is unused, remove it.
Change-Id: I3c15363a7ac8f82354bafefb82b14eb83ff6666d
CRs-Fixed: 2378313
Very occasionally, the driver transition thread for the DSC race
condition unit test can be preempted before queuing the driver
transition. This leads to the transitions de-queuing in an unexpected
order, causing the test to fail. In order to close the race window, a
thread would have to set its event _after_ blocking on a pending
transition, which is impossible. So, rather than using events to
synchronize the different threads in this test case, use polling to
ensure the different transitions are queued in the appropriate order.
If the given condition is not met, call schedule() to give the other
threads a greater chance to run.
Change-Id: I05edfa9200ca7831926153f3ff0ec9dbbbab3fed
CRs-Fixed: 2378469
currently the driver just ignore the channel numbers greater
than 165 for 80MHZ channel bonding, which results in best
channel selected as 169, 173 in 20MHZ bandwidth as the
respective channels does not support 80, or even 40 MHZ
channel bandwidth.
Fix is to assign the maximum weight to channel numbers greater
than 165, so that they do not get selected as best channel
for 80MHZ bandwidth operation.
Change-Id: I44c5073a806f39d98103681267faa317a6b6d73b
CRs-Fixed: 2375375
Based on new cfg framework, refactor below WNI and INI cfg items:
- WNI_CFG_PS_WOW_DATA_INACTIVITY_TIMEOUT
- g_wow_data_inactivity_timeout
- gDisablePacketFilter
Change-Id: I9a975263021ba4fd5ccea19ed1147a661f73317f
CRs-Fixed: 2375866
The CDP api cdp_tx_desc_thresh_reached should return true
if the available data path tx desc reaches threshold. But
this api returns wrong value in case of helium targets. Fix
this by returning correct value.
Change-Id: I571841ab1e4a4b24242fadc21bd13a85ef8da781
CRs-Fixed: 2378898
numBssFromNeighborReport and neighboReportBssInfo
fields in sCsr11rAssocNeighborInfo structure are
set to 0 in multiple places but are not referenced
or overwritten.
Fix is to remove the unused fields in sCsr11rAssocNeighborInfo.
Change-Id: I1aa0e58fd8407d1f96f0bb30a122e1626051d4c3
CRs-Fixed: 2376398
sapDfsChannelNolList and numCurrentRegDomainDfsChannels
fields in sap dfs info is not populated and is used in
csr_is_valid_channel.
Fix is to remove the redundant logic in csr_is_valid_channel.
Change-Id: Ib98423ba910a1947a908f4a74762f82183aa89d5
CRs-Fixed: 2374080
Start_ap failure due to no vdev start response is indicated
to supplicant using wext event instead of sending the
proper error code in return path of start_ap API. This
results in supplicant ending up in ap-enabled state since
wext events are not handled by supplicant.
Fix is to send the error code in return path of start_ap API
instead of sending wext event to indicate start AP failure.
Change-Id: I1c65aa65641c0ab718c734bd815ef790b1dfa636
CRs-Fixed: 2369681
During vdev destroy, if any STA is in connecting state the
roam command will be in active queue and thus vdev destroy is
queued in pending queue. In case STA tries to connect to
multiple BSSID and fails to connect, due to auth/assoc
timeouts it may take more than vdev destroy time to get
completed. If vdev destroy timeout vdev is moved to logically
deleted state. Once connection is completed, vdev destroy is
activated and to release the self-peer ref count it try to
get the ref of the vdev, which fails as vdev is logically
deleted and this leads to peer ref leak.
So before vdev destroy is queued abort any STA ongoing connection
to avoid vdev destroy timeout.
Change-Id: Ibd1ea555616ba22179f3663a082f5281220ab918
CRs-Fixed: 2375712
If Connect candidate has two or more APs in different band,
switch to DBS firstly. After associated 5G AP, will check and
try to switch to single MAC mode. But during DUT STA-AP key
negotiation, set hw mode cmd is refused to avoid EAPOL fail.
Fix: Check and change hw mode in hdd roam set key complete
handler, after EAPOL handshake finished
Change-Id: I63a2fb9eb49a4e209c68d5305bcf82fa26d3ea65
CRs-Fixed: 2377066
Use qdf_trigger_self_recovery instead of QDF_BUG for runtime PM
resume failure case as qdf_trigger_self_recovery can handle more
scenarios gracefully.
Change-Id: Iff0348fafb1be82f46400099e3cd551c079eea74
CRs-fixed: 2377677
Change Ic160dfafcfa015eb42a226304260b1be3dddc6f0 ("qcacld-3.0: cleanup
legacy scan request processing") removed the usage of macro
HDD_WAKE_LOCK_SCAN_DURATION. Since the macros is unused, remove it.
Change-Id: I5f34f09f144115fa217d8c2d3c67268c28f69ecc
CRs-Fixed: 2376945
As part of change Ic280113327e24a8934b0895c12b39ed7b4f73df6
("qcacld-3.0: Fix kernel checkpatch warnings in wlan_hdd_oemdata.h")
references to typedef tHddChannelInfo were replaced with references to
struct hdd_channel_info. However one reference was missed, so replace
that one as well.
Change-Id: Ib31aa3cbe6cc14fbdeb0e17a51aba92b7c2bdd20
CRs-Fixed: 2376944
Change Id39629e33e87ffe6ed58f375609a55e324618693 ("qcacld-3.0: Apply
second part of LFR INIs changes in HDD layer") contains a typo
"neighbor_scan_max_chan_timee". Fix the typo so that the code will
build if DSRC is enabled.
Change-Id: I2a8d8f7f619f825d16fc892913fd409ee8a04c97
CRs-Fixed: 2376943