Direct Buffer Rx module has an API to print the status of the rings
per module per pdev. Introduce OL param to support this through
CLI.
Change-Id: Iebbd2c314e72dc0753cdcb581f17d93d3c71a5db
CR-Fixed: 2263968
WMI recording is done per pdev and hence an instance of
debugfs directory (eg: WMI0, WMI1, WMI2 for 3 radio boards)
has to be created in /sys/kernel/debug/ path.
The wmi handle is per pdev and hence is causing the problem of wmi_instance
being 0 always as each pdev has its own wmi_handle.
WMI1 and WMI2 debugfs directories are not created as wmi_instance
is always 0.
WMI debugfs directory is created for every pdev of the psoc and naming
convention is changed to WMI_SOCx_PDEVx.
Change-Id: Ieb7e9d072d84f699588a8f719508c5cd8d9873fb
CRs-Fixed: 2232472
Issue:
Customer sees a lot of NOC errors after wifi comes up as
FW resets the interrupt bits that host configured and
then checks whether interrupt bits are enabled. FW then enters
into MSI mode without filling the necessary MSI address and MSI
data registers with proper values and this leads to lot
of NOC errors on the platform.
Fix description:
Configure the interrupt bits one more time after FW
resets the registers and then mark the host ready bit
in FW indicator address
CRs-Fixed: 2056198
Change-Id: I7a8871a9878b415ec90c4938df669c6225e79586
Add support for Short Range Devices 25 mW max power
channels in ETSI regulatory domain.
Add Short Range Devices 25 mW max power channels only
if DSRC feature is disabled.
Provide service apis to check SRD and DSRC channels.
Change-Id: Ib2a1d7cf191d07319cb29038ad60130f5cbe7f16
CRs-Fixed: 2264790
It causes kernel warning if remove an invalid id. So, verify id before
removing idr.
Change-Id: I22cd5753a6e4fae0087faaee1c722017523b311e
CRs-Fixed: 2271235
Remove pre processor directives for platform specific
dp peer functions and have stubs for them.
Change-Id: Ibdb9114918bbec86cc4be411f730da5777204226
CRs-Fixed: 2262603
Enable the configuration component in dispatcher, by calling the
cfg_dispatcher_init() and cfg_dispatcher_deinit() functions.
Change-Id: I1aa0d79729f35be422457280700cf1121a1873bf
CRs-Fixed: 2258230
Prevent setting of nbuf length when it's non linear
i.e. contains an extension list. This happens when a reinjected
defragmented packet encounters a NULL q exception.
Change-Id: I937b1bf9e1461edd89dec62a9c9e17b8c3b9315f
CRs-Fixed: 2256075
Data len received in encrypt decrypt data response
is not validated against the max allowed size which
can result in buffer overflow.
Fix is to validate data len against max allowed size.
Change-Id: I69bd8e63014220e5a2f291e4a0b1914d10c79fd7
CRs-Fixed: 2226375
For failed to abort P2P scan case, it won't deregister rx callback and
then memory leak. To fix the memory leak, call deregister rx callback
if abort P2P scan fails.
Change-Id: Iad4087175d437bf73363c782181b070492251f5b
CRs-Fixed: 2268674
1) Setup target_type for QCN7605(Genoa) USB.
2) Do not reset soc in hif_usb_diag_write_cold_reset() for QCN7605
3) Skip USB_REQ_SET_CONFIGURATION and usb_set_interface() for QCN7605
4) Return false in hif_needs_bmi() for QCN7605
Change-Id: I159b7043d55c5a1a341defde89cd8ccc760bb830
CRs-Fixed: 2266915
In function tdls_ct_sampling_tx_rx, memcpy of
unknown length buffer is done into fixed size
struct array. Mem copying without checking
length can lead to buffer overflow.
Change-Id: I0608bd69d71ff1901f82b44d045963e9d383e6ce
CRs-Fixed: 2269276
TDLS will update tdls firmware state according to STA connection status,
the change is to post tdls connect/disconnect event to target_if queue,
otherwise these events will be scheduled too late which would be out of
sync, cause unexpected results.
Change-Id: I76d70339f236b580bfb98fb1b8f5121784cb3465
CRs-Fixed: 2269978
Add check for valid length before copying in function
extract_ndp_ind_tlv to avoid potential buffer overflow issue.
CRs-Fixed: 2271344
Change-Id: I2ddcbc46a45d4d5308b1e0cf663598c85512bbaf
Standalone SAP is not allowed on lte-coex channel if STA+SAP SCC
enabled on lte-coex channel. So move the SAP to a safe channel
once STA disconnected.
Change-Id: I00682f5bbb3da772e3e26ccd8d08183be28cc9ec
CRs-Fixed: 2265263
Error: implicit conversion from enumeration type
'enum wlan_umac_comp_id' to different enumeration type
'wlan_objmgr_ref_dbgid' [-Werror,-Wenum-conversion]
Change-Id: I641c1eee77e977547841cebb4fd2fef8c06ca18c
CRs-Fixed: 2271058
irq imbalance issue happens when some irq is disabled or enabled multiple
times. For group interrupts enabling one interrut can cause irq to come.
By this time other interrupts in the group are not enabled. But the irq
will disable all group interrupts in qir context. Later those interrupts
will be enabled. This can cause race condition and in turn irq imbalance
issue. Fix this issue by protecting request_irq and free_irq of group
interrupts to avoid race condition.
Change-Id: Ic99e80600ef63c0d7aff45231d0dae6767cd084c
CRs-Fixed: 2262333
It is generally useful to log the reason for a panic at the time of
panic. The Linux panic API accepts a reason string, so to aid in moving
from panic() to QDF_DEBUG_PANIC(), add an optional reason parameter.
Change-Id: If4ed0e664f6b15deb4c6edf76bdc25f55ba82fac
CRs-Fixed: 2271764
P2P GO received deauth frame from p2p client and del_station is
received from userspace. As part of del_station FORCE_DEAUTH_STA
command is processed. Deauth frame is processed after this which
sends DEAUTH_IND to csr. Wm status change command is enqueued and
is not processed since there is already an active command. Cleanup
is done as part of del_station. Auth frame received is processed
and auth rsp is sent. Message is posted to lim on receiving assoc
req frame from p2p client. Wm status change command is processed
and DEAUTH_CNF msg is posted to lim. Assoc req frame is processed
and ASSOC_CNF is posted to lim. DEAUTH_CNF is processed before
ASSOC_CNF due to which sta_ds entry is removed. Assoc resp is
not transmitted as a result and p2p group formation fails.
Fix is to ignore deauth indication received when csr substate
is DEAUTH_REQ.
Change-Id: Ia1966a4cced3faf15605aeb3d69b8fafa2176c22
CRs-Fixed: 2269609
Add definitions for the enum WMI_HOST_SMART_LOG_SCENARIO which defines
individual smart logging scenarios which can be enabled/disabled. Also
add utility macros to set/get the same.
Change-Id: I2b188a6f5cb202868d43253e706115de570cb1e8
CRs-Fixed: 2162053
Driver calculates nss score for BSS, depending upon the
current DBS status. Thus it does not give more preference
to 2x2 and considers it the same as 1x1.
But the DBS condition can change and driver
can move to single mac.
Fix to give more preference to 2x2 BSS so that
better throughput can be achieved in single mac.
Change-Id: Ib684abe423fd21a81cb13db5f741fdfbb750328d
CRs-Fixed: 2271976
Vendor abort scan request is cancelling all
the pdev scans instead of a specific scan command.
Modified vendor abort scan API to cancel specific
scan request.
Change-Id: I087637e44b8ee7f6cc12e9e47db04eec3f9ff93e
CRs-Fixed: 2270030
Pdev parameter to prioritize IGMP packets are supported through
WMI_PDEV_PARAM_IGMPMLD_AC_OVERRIDE. In legacy platforms, they are
supported by different pdev parameters WMI_PDEV_PARAM_IGMPMLD_OVERRIDE
and WMI_PDEV_PARAM_IGMPMLD_TID.
Map host maintained pdev params wmi_pdev_param_igmpmld_override and
wmi_pdev_param_igmpmld_tid to WMI_PDEV_PARAM_IGMPMLD_AC_OVERRIDE since
this is the one supported by TLV based targets.
Change-Id: Ia11787265bd926f257dc1b028552c6e7f1f733d2
CRs-Fixed: 2272219
1. Add CDP API to set encryption key in datapath.
Used to perform RX TKIP demic.
2. Fixes to RX TKIP demic function.
Change-Id: Ia14caeb71a320b4746f4303cf6611f1b6e4947ae
CRs-Fixed: 2214749
HW wrongly calculates MIC for the last fragment of TKIP
encrypted packets due to which this packet ends up on WBM
execption ring. Add code to handle the last fragment
in WBM execption ring.
Change-Id: I2dea5b3fbcb48036435e26f32f4641e7a0840bcd
CRs-Fixed: 2214749
Currently, when Current RSSI is better than good RSSI threshold
first driver calculates qbss percentage and set qbss score accordingly
and when current RSSI is weaker than or equal to good RSSI threshold
(-70dBm) driver directly sets 10% as qbss score. But as per requirement
Driver should calulate qbss percentage in order to set qbss score for
RSSI = -70db
Fix is to allow driver to ignore qbss percentag calculation only
when current RSSI is less than good RSSI threshold.
Change-Id: I1be2ab71016d779a60d21923a34340ae19d6c7f5
CRs-Fixed: 2261635
This change required to match Tx PPDU BW value with
FW stats. As per firmware enums its starts with 5MHz
BW value. So to match 20MHz value with enum zero, need
to subtract from BW populated from TLV.
Change-Id: Ifcc49839c08de78c9200b877890fdce2e0846f1d
TDLS sta_id check logic has changed, the value zero is valid, so
initialize the tdls peer sta_id as 0xff, otherwise add tdls peer
won't happen.
Change-Id: I805e4abdec8806f649d15da4f02980de9ffdc0ea
CRs-Fixed: 2263523
During high TPUT scenario logging of DPT trace is not useful,
require more MIPS. Disable datapacket DPtrace logging during
TPUT runs, but contiue to log special packets like ARP/DHCP/ICMP etc..
Change-Id: I70c9368de4cb2423901449b267452a34d652213d
CRs-Fixed: 2255756
Standalone SAP is not allowed on DFS channel if STA+SAP SCC enabled
on DFS channel. So move the SAP to a non DFS channel as soon as STA
gets disconnect.
CRs-Fixed: 2269249
Change-Id: I27d018739f53997641a7113cfc7c844e02bd7e29
Add enum QDF_MCC_TO_SCC_WITH_PREFERRED_BAND(6) for this.
If ini gWlanMccToSccSwitchMode is selected to
QDF_MCC_TO_SCC_WITH_PREFERRED_BAND(6) then following will be the
behaviour of STA+SAP concurrency.
1. If second interface(SAP/STA) comes in same band as
first interface(STA/SAP) respectively then force SCC
irrespective of channel.
2. If second interface(SAP/STA) comes in other band as
first interface(STA/SAP) then dont force SCC allow
interband MCC or DBS based on DBS capability.
Allow interband MCC but not intraband MCC.
Change-Id: I91d41b4b0306ed4e362b5bcab9538f5fd5feea7d
CRs-Fixed: 2260677
Add null check for pdevhandle before processing htt msg.
This is added for polled mode to avoid race between pdev detach
and CE poll timer stop.
Change-Id: I925e70985bd11e05e0679ad0107493aaefe8a273
CRs-fixed: 2352564
Worker thread WMI processing API has more broader use now. So make it
non-static.
CRs-Fixed: 2268243
Change-Id: Iae51e1115f5f3664d08c891e8a42d24bd3ef7bcf
The buffer allocated with length "ATH6KL_FWLOG_PAYLOAD_SIZE"
is not initialized, this may lead to information leak during
memcpy when len < ATH6KL_FWLOG_PAYLOAD_SIZE.
To resolve this issue, memset the buffer for length
(ATH6KL_FWLOG_PAYLOAD_SIZE - len) to 0
Change-Id: If4a49347d674ad2af0438b408a4a4b9308c61026
CRs-Fixed: 2255083
If STA+SAP is doing SCC & g_sta_sap_scc_on_lte_coex_chan is set,
don't move SAP to a different channel when LTE channel avoidance
event comes.
Change-Id: I3dfdbb6d59769a8ff9b3b2e6d828feee94630569
CRs-Fixed: 2268993
User expects signal strength in dBm. But for GET_RSSI IOCTL
driver is sending a relative value, not in dBm unit.
While processing GET_RSSI IOCTL, send signal strength in
dBm unit, as the user expects.
Change-Id: Id8b248f0be558e9b91f3e4675cb7b58cd6b3e940
CRs-Fixed: 2258559