Link descriptors should be returned to WBM release ring if
fragments are not reinjected due to defrag errors.
Change-Id: Ia37db9f195f6848092918cf7cc221dc50e827ac5
Update regdb with QCA regulatory database version 27.
Modify APL19 with new channels, power and radar pattern.
Change country IN to APL19_ETSIC.
Create new reg-domain ETSI15.
Create new reg-domain pair ETSI15_WORLD.
Move CTRY_SAUDI_ARABIA to ETSI15_WORLD.
Add new country CTRY_MYANMAR.
Change CTRY_CHILE to FCC13_WORLD.
Change CTL value for reg-domain APL8 to 'FCC'.
Enable all bandwidths for country CTRY_COSTA_RICA.
Add new reg-domain pair ETSI10_FCCA.
Move country CTRY_UNITED_STATES to FCC3_FCCA for mobile.
Update regdb version field.
Fix alignments.
Change-Id: I23a7ce98010e15eab606d4910df87bec15abc5ea
CRs-Fixed: 2353872
Channel number can be valid when finding out the enumeration for the
channel. Rate limit the messages for the same.
Change-Id: Id8755cffa9030054698f9e5e65c7c30c3155ad1e
CRs-Fixed: 2359311
P2P component used in CLD only, and needn't in hostcmn. So move P2P
component from hostcmn to cld. This change remove P2P related/codes
files from hostcmn.
Change-Id: I351ee153588bbcdb62041b4626370d451a3f56bb
CRs-Fixed: 2361487
Add unit tests for the following parsing function in QDF:
* qdf_int32_parse()
* qdf_int64_parse()
* qdf_uint32_parse()
* qdf_uint64_parse()
Change-Id: I43d162d008910396df051dd18e7a1ab7fede657a
CRs-Fixed: 2362740
When MEMORY_DEBUG is enabled on WIN, it is reporting qdf_aligned_malloc_fl
as an unknown symbol. qdf_aligned_malloc_fl is defined under
MEMORY_DEBUG flag but its prototype is exposed globally.
Make this function definition available globally to fix the issue.
Change-Id: Ieb002bb892d6f3d525409fc9c3a6b2fa71ceebd8
CRs-Fixed: 2357476
Remove CONFIG_WIN from spectral module to achieve maximum
possible convergence.
CRs-Fixed: 2354105
Change-Id: I59e4d8029fcf096042741573cf020136747e7367
If there is anything wrong, the caller of dp_tx_send_msdu_single
will only handle skb free, but not skb unmapping. So inside of
dp_tx_send_msdu_single, it is needed to make sure unmap operation
is performed after map operation.
CRs-Fixed: 2358266
Change-Id: I6379305e84f70b5b978e9504b758c7a6ccf328ee
Add the interface layers APIs that will be utilized by the mlme
module to interface with the serialization module.
Also add a serialization command cancel option to cancel cmds of a vdev
belonging to a given command type and define the vdev mlme legacy callback
function that will be used by the mlme-serialization interface APIs
Change-Id: I6a376465ef2929f15c6464bbd29c0250251696d8
CRs-Fixed: 2312821
Adds support to enable/disable scan for psoc/vdev with reason,
so that multiple clients can enable/disable the scan at same time.
Scan will remain disabled till all clients enable it back.
Change-Id: I8d840b24210095accb56ac9a2697ec26e8a5eb17
CRs-Fixed: 2362093
Operation classes supported can be controlled by user, which can
be sent greater than the max supported operations. This results
in stack overflow in change station command for TDLS sta.
Add check to validate operations supported param given by user
and if it exceeds max supported value, set it to max supported
value.
Change-Id: Idd3a35e38b091546a17d7ec6329f19429e5c289c
CRs-Fixed: 2361464
During vdev attachment in monitor mode, the ini_timer is not
initialzied which will cause FW assertion. Make sure int_timer
is initialized properly.
CRs-Fixed: 2359908
Change-Id: I48c97161345b17a0eb3e8a939499eabeae683bd2
qdf_mem_shared_mem_alloc invokes qdf_mem_dma_get_sgtable which will alloc
memory.
This memory should be free in qdf_mem_shared_mem_free by sg_free_table.
Change-Id: I3ad4bd2ff7a80d4051f15dcb04e0265707c2712d
CRs-Fixed: 2131270
Add WMI support to send WMI_PEER_UNMAP_CONF_CMDID to FW
for peer unmap confirmation.
Change-Id: I1a260f840ed28f90568d9cba912cc5e5128c8c7d
CRs-Fixed: 2358066
Regulatory rules bandwidth should be constrained by difference of lower and
upper bandwidth of the rule. Fix the rules that do not conform to that.
Change-Id: I01ceca977ca02dcf757c8afbb597bd1ae9659660
CRs-Fixed: 2354371
Regdb SW needs to be versioned so that implementation
can be mapped to published QCA regulatory database.
Change-Id: I925f9953f410507417747793381fd2f4b196f759
CRs-Fixed: 2354364
When from control path peer is deleted, peer deletion in progress
is set in dp for that peer. So any caller tries to get the peer
using peer id the return peer reference will be NULL as deletion
is in progress. In this case during peer deletion in progress at
tx completion process status console logs are flooded with invalid
peer logs in soft irq context. This is leading to scheduler watch
dog bite. In this change reduce the severity to prevent excessive logs.
Change-Id: Ife8f9e496b81b19666ef9e36db674106111a7d43
CRs-fixed: 2357807
Currently if the number of APs in the STA environment
are many, then the STA will receive many beacons, whose
beacon process path can take long time, in the kernel
work queue, hence the other processes have to wait
for them to complete, and may get timeout, if the
the time to process the beaocns is larger than their
process timeout.
Fix is to :-
1. Add rate limit to failure conditions of memory
not allocated
2. Make memory allocation in path of beacon process
atomic.
Change-Id: I0b15fd4924bb7d696a33adeb1875f1f9c277db18
CRs-Fixed: 2360624
ath_pktlog.ko was not being built as part of disabling
Direct Attach(DA) support.
Moved pktlog files and enabled building of ath_pktlog.ko
since pktlog files are common to both DA and offload.
Change-Id: Ibcb559832029ade94f7215ce633cb6dbc83f747e
Function send_pdev_set_dual_mac_config_cmd_tlv return success even
if it fails to send WMI_PDEV_SET_MAC_CONFIG_CMDID. Thus the
e_sme_command_set_dual_mac_config cmd stuck in active queue leading
to active command timeout.
Return failure if WMI_PDEV_SET_MAC_CONFIG_CMDID fails.
Change-Id: I9593c7369a4e152c8c233e60216ecd7fc301b944
CRs-Fixed: 2362270
WMI RX workqueue is created with WQ_MEM_RECLAIM flag. When host receives
the WMI service ready event it queues the work. There is 50sec delay in
scheduling workqueue to process WMI service ready event. This results in
host timeout (timeout = 15sec) and wifi load failure. This cleans up the
host data structures related to data path. But work got scheduled after
50sec resulting in init path handling with inconsistent data structures.
Use workqueue UNBOUND flag to create WMI RX workqueue. Works queued to
unbound workqueues are implicitly HIGHPRI and dispatched to unbound
workers as soon as resources are available.
Change-Id: I46eb0242ad88103268df99be9fd2e0759ebec4b2
CRs-Fixed: 2343181
1) Pass EV_DOWN event to SUSPEND state
In Disconnection progress state event handler, on receiving
restart response, trigger EV_DOWN event to move to SUSPEND_DOWN
sub state
2) Replace return statements with status
Change-Id: Ieac0d158f79aad244a480eee24993ddc059b72f0
CRs-Fixed: 2307722
If FW supports new htt format include only payload length in
the header length.
Change-Id: Ia5ec9a474bc5fe68de28273e6f9615d36de94a7c
CRs-Fixed: 2359253
This FR is to enhance existing pktlog debug tool
This feature will allow to capture pktlog for particular
peer mac address.
Change-Id: I3676095536185f25b0d498e03f70246260a324fd
Eanable monitor mode low water mark interrupt.The monitor
mode processing is stuck in the monitor mode buffer ring full
if monitor mode low water mark interrupt is not enabled.This
is because there is no packet come in when monitor buffer
ring is full and hence there is no ppdu end interrupt.The
monitor is not processing the monitor ring and buffer ring
full condition is not remoevd.
Change-Id: I28b3a4b408db62873c17512d20e63c9844e8d4ea
Presently the rx rate is not being populated in the upper layer.
Populate the rx rate in the upper layer via the callback function
get_station_stats_cb
Change-Id: I4729bebd56d550152b0af41017a8c9bd5fb5f187
CRs-Fixed: 2359955
Because of reference counter decrement is not triggered for every
condition path, it is possible that peer reference counter leaking
happens under some perticular circumstance. Make sure the peer ref
count unreference is called for each possible path.
CRs-Fixed: 2352433
Change-Id: I60bc5a5210519c26c57cdc563d0d1b02d799e090
the enum for subchannel marking pdev param is after the
maximum value. Re-enumerate the enum so that the pdev param max
points to the last value.
Change-Id: I9ecf616a13b3b73b3aafb0f6dfdfbf6eda29f4dd
CRs-Fixed: 2334258
Make ipa_owned bit common for TX and RX control block union
for MCL as it is used in qdf_nbuf_free API, which is used in
both TX and RX path to free skbs.
Change-Id: I3a4279d528a1b8a72a1ec307f1672efae84d2745
CRs-Fixed: 2353137
AP is configured to operate in Channel 100(HT80), and Zero Wait DFS
is enabled. Once PreCAC is complete on DFS Channels,inject radar in
Channel 100 and AP moves to another DFS channel 116 and beacons
immediately but station associated to AP still does a scan again.
When the station receives the Channel Switch Announcement from AP, it
dissociates from the AP and scans again.
Maximum Switch time Information Element can be used by the Station to
to know if the AP has done PreCAC on target channel. Maximum Switch Time
IE is part of AP's beacon and is the sum of CAC timeout on the target
channel and 1 beacon interval.
If PreCAC is done on target channel, the CAC timeout is zero and Maximum
Switch time IE is equal to 1 beacon interval. This element is sent to
Station along with Channel Switch Announcement. The Station receives the
maximum channel switch time element. If the value of maximum channel switch
time element is less then or equal to beacon interval, the station
associates with the AP seamlessly without dissociation. If the value of
the Maximum Channel Switch Time IE is greater than 1 beacon interval, then,
the Station has to dissociate from the AP since, ZeroCAC has not been done
by the AP.
Change-Id: I0301a68c1731cc268b9a6900258261034476446b
CRs-Fixed: 2330817
WAPI cert AP sends rekey frames as unencrypted. Thus
RXDMA will report unencrypted frame error and error
frames are then sent to release ring as configured.
With current implementation, host just drops WAPI
error frames.
To pass WAPI cert case, fix is to deliever unencrypted
WAPI frames to stack.
Change-Id: I6dfd1b5e6958d729ec3da0a0d1f1e6c227b0597f
CRs-Fixed: 2350485
Check if the ast_entry peer is same as the peer received
in MEC event before removing the wds entry. This check is
required for wds repeater scenarios. When a multicast packet
goes from station to the rootap via the repeater, a mec event
will be received in host but the entry should not be replaced.
Change-Id: Ia6fae9f08b411b481fc6d7c3f829bd127f92caec
Update NOL list based on the external radar information sent
from the action frame and store in DFS structure.
Add an utility - dispatcher function that can be called by UMAC
with NOL IE information.
In the DFS structure,
1). If subchannel marking is disabled, add all the current
channel's subchannels to NOL, do not update the NOL IE
structures inside dfs, and send a flag saying not to
propagate the NOL IE to uplink.
This is because, in case of cascading repeaters, one
of the repeaters (RE1) in the cascading system might have
subchannel marking disabled. In that case, sending the
same NOL IE to uplink results in RE1 and its BSS to disconnect.
2). If subchannel marking is enabled, add those subhannels to NOL,
and update flags saying NOL and RCSA IE should be sent.
Change-Id: I3f3e14a59503cd1a15573c988a984a20117aa814
CRs-Fixed: 2328377
Calculate the bitmap of subchannels that are affected by
radar and store in dfs structure along with flags
Algorithm:
1). Given the radar affected subchannels list, create a
NOL bitmap, where
1 - Radar hit on Subchannel.
0 - Subchannel not affected.
2). Along with the NOL bitmap, send the Minimum Bandwidth
for each subchannel and the Channel list's starting
channel's centre frequency.
Example:
Mode : 100HT80, if radar affected subchannels are 100, 104
and 108.
NOL bandwidth: 20.
NOL start frequency: 5500.
NOL Bitmap: 11100000.
3). During precac (precac timer running), if radar hits
at secondary segment, the umac code that sends rcsa
is still called, but add a new flag to not send rcsa, and
in rootAP, channel change is not triggered, only NOL
is updated.
Add APIs that can be called from mlme to fetch the NOL and IE
flags information from DFS structure during RCSA framing.
If subchannel marking is disabled, the new NOL bitmap has no meaning
and is hence, not sent.
CRs-Fixed: 2328377
Change-Id: I3114ff5ca2704c316c9dc83220740fac9a6a00a1
Currently the driver checks for the supported rates IE,
and if the length of the IE is greater than 8, the driver
rejects the IE, according to spec.
But some APs supports 12 rates hence are not scanned.
Fix is to have a supported rates IE length check of 12 instead
of 8.
Change-Id: Ib0e25c94e781ccd44b7f08ea3db6109ad8d6ad22
CRs-Fixed: 2360709
Currently qdf_mem contains a function, qdf_mem_validate_list_node(), for
validating a list node and ensuring it is currently part of a list.
Instead, abstract this function from qdf_mem, and move the definition to
qdf_list_node_in_any_list() in qdf_list. This is a more reasonable
location for the list-specific logic, and allows its reuse by other
callers.
Change-Id: I56a5d54e3c81470a111f168533faedf7fa525ff3
CRs-Fixed: 2359358
Assign dp_ath_rate_lpf return value to avg_tx_rate,
which is further used to compute ppdu_tx_rate
Change-Id: Ib51be85c2436bef8feffeb611982314720399a69
CRs-Fixed: 2356831
When PLD_USB_CNSS is enabled, call pld_wlan_enable() from
hif_usb_bus_configure().
Do not call pld_wlan_enable() when QMI is not enabled.
CRs-Fixed: 2325591
Change-Id: Ie710f8aea1b5ceb9d3a633348858775b2ff462d5
Create ucfg apis in scan components for calling from hdd.
Move the scan apis to new file, wlan_scan_api.c
Change-Id: Iec08eddbba3066a4d781c988624d47749a75610a
CRs-Fixed: 2342892