커밋 그래프

12732 커밋

작성자 SHA1 메시지 날짜
Deeksha Gupta
b1faf3e88d qcacmn: Add new reason codes for TWT session
The firmware sends new reason codes due to roaming in
progress and channel switch. Add new reason code for
TWT session.

Change-Id: I3820ac74910e382f5a029de85f8e0915220bb996
CRs-Fixed: 2908384
2021-04-08 10:50:07 -07:00
Srinivas Dasari
f08cb9d934 qcacmn: Don't optimize 6g channels in case of RRM scan request
Currently, scan requests are optimized to trim 6g channels based
on the ini params scan_mode_6ghz and scan_mode_6ghz_duty_cycle.
But RRM scan request comes to host driver with a fixed set of
channels and the expectation is to scan all supported channels
out of these.

Don't consider scan_mode_6ghz_duty_cycle to optimize the
channels in case of RRM scan request. Thereby no 6g channels
would be trimmed.
Ini param "scan_mode_6ghz" is still honored if it's set to
"SCAN_MODE_6G_NO_CHANNEL", which filters out all 6g
channels from the scan request.

Change-Id: I960ac2c68f8d291209acc1c59d2f5b9076f042d7
CRs-Fixed: 2913913
2021-04-08 08:47:33 -07:00
Yeshwanth Sriram Guntuka
69e696c423 qcacmn: Reset the inv bit in ring desc cookie for jumbo pkts
When a msdu scattered across multiple nbufs is received
in REO2SW ring and the remaining nbufs are not yet
available in the ring, loop in dp_rx_process is exited
without resetting the invalid bit in the ring desc cookie.
This will result in an incorrect assertion failure when
the same entry is processed the next time.

Fix is to reset the invalid bit in ring desc cookie
when the loop is exited in the above msdu scattered
scenario.

Change-Id: Ie5cfa1fb8ea1db4b7a0a4837545ecbfdfbb8719a
CRs-Fixed: 2916296
2021-04-08 02:50:56 -07:00
sheenam monga
9b74a6bc2a qcacmn: Add support to offload igmp feature to fw
Send command with required params to offload igmp
feature to fw.

Change-Id: I8b34b3f465c85db6b6cccd5fba439bee1c5640f4
CRs-Fixed: 2908041
2021-04-07 21:52:10 -07:00
Yeshwanth Sriram Guntuka
a5e6565dd6 qcacmn: Check for equal case in nbuf len sanity
MSDU with len 1654 is received in the REO2SW ring and
the total len of the pkt would be 1654 + 392 (pkt tlvs)
+ 2 (l2 hdr padding) = 2048bytes. The nbuf len sanity
checks for strictly less than 2048 bytes which results
in the assertion failure.

Fix is to add the equal case when validating the
nbuf len.

Change-Id: I7e5d1df10339c8d7908a12001c2322028965a8fe
CRs-Fixed: 2916351
2021-04-07 14:32:52 -07:00
Abhishek Ambure
c36e8ad74f qcacmn: Add support to handle vendor specific protected action frame
Host add support to handle action frames with category field
ACTION_CATEGORY_VENDOR_SPECIFIC_PROTECTED(vendor specific
protected action frames).

Change-Id: Iae105fe7c5c37438b29d9b2bc135961f795c5ab8
CRs-Fixed: 2897655
2021-04-07 14:32:48 -07:00
Lincoln Tran
d9b92d56f2 qcacmn: Remove option LPI as option for AP pwr type
For devices operating in SAP mode, they must operate in VLP mode only,
unless in the countries which does not yet support VLP. In US and PR,
they currently operate in LPI, which will be updated when VLP support
comes. Remove the condition that allows the power type to be set to
LPI. Also, update the current channel list when the power type
changes.

Change-Id: I999862e44f213026ed11da2c08766d9bd77e3b7a
CRs-fixed: 2909703
2021-04-07 11:47:26 -07:00
Yeshwanth Sriram Guntuka
6512d66c27 qcacmn: Create IPA SMMU maps for host replenished bufs
Buffers replenished post processing entries in the
REO2TCL ring do not have ipa smmu mappings created
when RX_PREALLOC_BUFFER_POOL feature is disabled.
This will result in SMMU fault when IPA HW accesses
such replenished buffers.

Fix is to create IPA SMMU mapping for replenished buffers
when RX_PREALLOC_BUFFER_POOL feature is disabled as well.

Change-Id: I0fe611a1279b91a3e45bc269348e05de9015d596
CRs-Fixed: 2915686
2021-04-07 08:16:35 -07:00
Tushnim Bhattacharyya
7d8f444b48 qcacmn: Remove all WLAN_REG_IS_SAME_BAND_CHANNELS instances
Use WLAN_REG_IS_SAME_BAND_FREQS API to check if 2 channel
frequencies are on same band instead of the deprecated
WLAN_REG_IS_SAME_BAND_CHANNELS API as part of regulatory
cleanup effort.

Change-Id: I71318847c7993b4ec44625e9f759b522a553ee4b
CRs-Fixed: 2898310
2021-04-06 23:12:38 -07:00
Karthik Kantamneni
1759c5d6cb qcacmn: Rate limit excessive logs in WBM error path
Rate limit excessive logging prints in WBM error path

Change-Id: Ifb69959b78740bf4a0fca7b7611a2da0ef740413
CRs-Fixed: 2908240
2021-04-06 18:43:06 -07:00
Tushnim Bhattacharyya
ca2545b8a1 qcacmn: Remove all WLAN_REG_CHAN_TO_BAND instances
Use wlan_reg_freq_to_band API to get band instead of
the deprecated WLAN_REG_CHAN_TO_BAND API as part of
regulatory cleanup effort.

Change-Id: I782c2e270e695fdfe1b88d05928cf063dadc859d
CRs-Fixed: 2898232
2021-04-06 05:28:43 -07:00
bings
542e1cb014 qcacmn: Add eht_cap for psoc_phy_config
Add eht_cap for psoc_phy_config to support 11BE

Change-Id: I09d3e52fff3650235c9ab083cd78d3485344035a
CRs-Fixed: 2908971
2021-04-06 05:28:39 -07:00
Venkateswara Swamy Bandaru
216478aaae qcacmn: EHT changes as per latest fw cmn headers
Updated the EHT related variables as per latest fw cmn headers.
Address review comments from previous EHT gerrits.

Change-Id: I67cd58a4efcf3e06d2ca3b5570432593b1d80825
CRs-Fixed: 2902607
2021-04-05 04:45:25 -07:00
Venkateswara Swamy Bandaru
a8e24fd6c0 qcacmn: Add 11be support WMI peer assoc command
Add 320Mhz band width support and EHT capabilities information in
WMI peer assoc command.

Change-Id: Ie4ee95fb1790c828275e90b384b2bdc04efb3f29
CRs-Fixed: 2882054
2021-04-04 04:55:43 -07:00
Venkateswara Swamy Bandaru
bb3a53e3dd qcacmn: Add 320Mhz bandwidth support
Expand bandwidth related fields to support 320MHz.

Change-Id: I4d80625607d0f507373decd70006d55d79b3629a
CRs-Fixed: 2881992
2021-04-04 00:15:30 -07:00
Gururaj Pandurangi
6d6ae3f176 qcacmn: Add dispatcher to reg_get_cur_6g_ap_pwr_type
Add dispatcher API wlan_reg_get_cur_6g_ap_pwr_type to call
reg_get_cur_6g_ap_pwr_type from legacy TPC power calculation
API to obtain AP power type for SAP.

Change-Id: I7b135561af6f1cfaa14bbb724eb984e972a4a19a
CRs-Fixed: 2912227
2021-04-02 20:32:29 -07:00
Kiran Kumar Lokere
dfb42ec511 qcacmn: Drop the invalid 6GHz security beacon from scan result
Validate the 6GHz AP beacon in the scan result for valid security
if user enables the 6GHz security checks.
Drop the beacon from scan result if valid security is not found.

Change-Id: I6e02e77cc996b4f4fb7dc7a1678990419a51c79e
CRs-Fixed: 2904741
2021-04-02 15:03:28 -07:00
Rakshith Suresh Patkar
6fa61a5368 qcacmn: Make agile center freq 0 in stop sscan
In agile spectral scan scenario, if there is a chan switch,
it is possible for the new operating span to overlap with
the agile frequency, which results in erroneous outcome.

Make agile center freq 0 as part of every stop agile
scan. This ensures that a new frequency is mandated
as part of every agile scan.

Change-Id: I4531aa0636a62b918bace66098c2c287e72d55d3
CRs-Fixed: 2910449
2021-04-02 15:03:24 -07:00
Rajeev Kumar
c0a7a9dfe2 qcacmn: Replace request_firmware by firmware_request_nowarn
Replace request_firmware by firmware_request_nowarn to avoid warning
message when the file is not found and sysfs fallback mechanism is
enabled if direct filesystem lookup fails.

Change-Id: Ib55d257aa01c52523b1f1137165c842e139ce614
CRs-Fixed: 2912039
2021-04-02 12:02:49 -07:00
Ashish Kumar Dhanotiya
9498b63b87 qcacmn: Use feature flag based api for 4_9GHz channels population
Currently reg fill master channel list api directly uses 4_9GHz
channel macros to populate band channels. Since 4_9Ghz channels
are featurized if feature flag is disable 4_9GHz channels might
be invalid which may lead to out of bound access in reg populate
band channels api.

To address above issue, use feature flag based api to populate
4_9GHz channels.

Change-Id: Ied9a43301451faf2741188e4a98d4c8e47af9f38
CRs-Fixed: 2913703
2021-04-02 12:02:44 -07:00
Venkateswara Swamy Bandaru
873624584b qcacmn: Add scan support for 11be
Add EHT capability and EHT operation IE definitions and supporting
functions to parse these IEs.

Change-Id: Ida6f8b29fb33a581d2f13584f92327162cfa1664
CRs-Fixed: 2858005
2021-04-01 23:36:01 -07:00
Venkateswara Swamy Bandaru
b390b57146 qcacmn: Add 11be phymodes support in WMI
Extend phymodes to support 11be phymodes in WMI layer.

Change-Id: I98e7f5eac90952ed7daf26745fc9731c128756e5
CRs-Fixed: 2881926
2021-04-01 23:35:57 -07:00
Vevek Venkatesan
da069e5990 qcacmn: add qdf wrapper API for is_driver_state_module_stop
Add qdf wrapper API support for is_driver_state_module_stop.

Change-Id: I6965b4049aebcbe9ec612cf3d70398eb269450e4
CRs-Fixed: 2912016
2021-04-01 20:34:10 -07:00
Venkateswara Swamy Bandaru
11f4850bfd qcacmn: Initialization changes for 11be
EHT capapilities will be received as part of ext2 service ready message.
Update the structure as per firmware common header file and extract the
EHT capabilities field.

Change-Id: Id2dd170db4de588008742f95493d4d06a6431f1c
CRs-Fixed: 2857802
2021-04-01 06:11:30 -07:00
Liangwei Dong
94310d764e qcacmn: Fix debug print to use channel frequency
Use "Chan freq" string for channel frequency value debug
message print.

Change-Id: Ie9e2d2d38b8e7bad2c7fcaa052e5fa5b555fb7ea
CRs-Fixed: 2903498
2021-04-01 01:24:25 -07:00
Ruben Columbus
5708cdac6f qcacmn: remove preamble from peer delayed stats
delete copy preamble from ppdu_desc to peer in data type case.
this will give mu_bar preamble of a data frame instead of ctrl frame.

this will not affect tx_capture given that preamble is copied to
phy_type in ppdu_desc from ppdu_desc preamble itself.

this should fix issue with pulling information from ppdu descriptor by
having data frames with low mcs. mcs was correct but preamble gave
impression that frame was a data but it was a ctrl frame.

Change-Id: Id82e6eb98af0e9488227bff43fc77f188eee77e3
2021-03-31 19:06:27 -07:00
sandhu
30d75bfe8a qcacmn: Add Null check function pointer
Add NULL check for function pointer vdev->osif_proxy_arp .
Which is leading to a NULL pointer derefrence error.

Change-Id: I850d10da879231255970572487260e75fe2e3a78
CRs-Fixed: 2909911
2021-03-31 17:12:07 -07:00
Vignesh U
1bcf72f3f8 qcacmn: Reset radar queues after disabling phyerror processing
When the phyerrors get accumulated in the radar queue and matches a filter,
the radar queues is  reset. But the phyerror reception is not disabled
immediately, instead only done after taking radar action. In this interval,
the radar queue still continues to accumulate pulses until phyerror
reception is disabled.
When radar action is completed, channel is changed and phyerror reception
is re-enabled, the existing pulses in the radar queue continue to exist
and cause false radar on the newly changed channel. This will potentially
add all the dfs channels to NOL.

In order to avoid such a scenario, reset all the delaylines, radar queues
and the associated stats variables after disabling the phyerror
reception.

CRs-Fixed: 2891715
Change-Id: I6ad202a6d99d313895b347119fcae0a2a2651ca1
2021-03-31 14:14:51 -07:00
Manikanta Pubbisetty
5abda36e03 qcacmn: use disable_irq for EXT GRP IRQs
Currently, as part of device suspend, EXT GRP IRQs are disabled.
disable_irq_nosync() which is currently being used to disable
interrupts will not wait for pending IRQs to completion. With this
API, there is a chance where IRQ handler can be executed after the
device suspend. Use disable_irq() instead so that pending IRQs will
be completed before returing from disable_irq().

CRs-Fixed: 2904518
Change-Id: Ib9acabe89b0337add82918be24b4782a6b125d05
2021-03-31 14:14:46 -07:00
sheenam monga
937c5c5af7 qcacmn: Read fw capability to offload igmp
Read fw capability to support igmp offload

Change-Id: I87ff7b07a5add99d8e9f8234912b656e5b866569
CRs-Fixed: 2904971
2021-03-31 12:06:55 -07:00
Jeff Johnson
79b61afd8f qcacmn: Do not export static functions
Linux kernel commit 15bfc2348d54 ("modpost: check for static
EXPORT_SYMBOL* functions") adds a check to make sure that static
functions are not exported.

With this in place the following fatal errors are reported:
FATAL: modpost: "__qdf_nbuf_get_ether_type" is a static EXPORT_SYMBOL
FATAL: modpost: "os_if_spectral_free_skb" is a static EXPORT_SYMBOL
FATAL: modpost: "qdf_nbuf_tx_desc_count_update" is a static EXPORT_SYMBOL
FATAL: modpost: "__qdf_nbuf_get_ip_offset" is a static EXPORT_SYMBOL

To fix these errors do not export the static functions.

Change-Id: Ib5caab904401900bafb23dee23b119daa76d4055
CRs-Fixed: 2910980
2021-03-31 10:07:30 -07:00
Utkarsh Bhatnagar
9df8be508d qcacmn: Add sanity check for the command to remove in connection mgr
Add sanity check for the command to remove in connection mgr, as
by default in case of invalid cm id the disconnetc command is removed.

Also cm_id pointer passed in the cm_remove_cmd, may get freed as
part of cm_delete_req_from_list(), if its part of the cm_req.

Also move the add to ser logic for the roam sync to connect state
handling.

Change-Id: Ie69e8a65fc864a55c51d149570573e6f9aef4564
CRs-Fixed: 2911267
2021-03-31 08:08:38 -07:00
Will Huang
8307cb1ba1 qcacmn: Add MKK-N condition when check whether W53 disabled
DFS_MKKN_REGION was updated as JP's new DFS region, it also support
W53 radar pattern, so add this DFS region to conditions of checking
whether W53/indoor/outdoor is disabled.

Remove redundant dfs region defines.

Change-Id: I9c823fe815416eac30f440fb3e61246c5ef7e675
CRs-Fixed: 2906139
2021-03-31 06:05:04 -07:00
Yeshwanth Sriram Guntuka
6611374cf4 qcacmn: Trigger sys wakeup for WMI command when WOW is enabled
DHCP packet is received in the IPA exception path when
system is suspending. As part of DHCP packet processing,
WMI_PEER_SET_PARAM_CMDID is sent to FW after WOW is
enabled resulting in self recovery getting triggered by
host.

Fix is to do an explicit system wakeup if a WMI command
has to be sent post WOW enablement.

Change-Id: If1904a4fe5c861deed1b35071be10cb8cc8d6407
CRs-Fixed: 2890913
2021-03-31 01:04:01 -07:00
Lincoln Tran
125c4c2a60 qcacmn: Catch potential OOB for 6G channel list
Ensure any access to the master channel list does not go out of bounds

Change-Id: I96487a752d1510136f1ecbf92da42eb7b991522b
CRs-fixed: 2900945
2021-03-30 20:46:22 -07:00
Lincoln Tran
b390122275 qcacmn: Drop ch avoid event if list is empty
Add check to drop the avoid channel list event if the range count is 0
since it would not affect the channel list anyways.
Also, add the rate limited debug print for the target_if module.

Change-Id: I176b9c09106cc0d7f5cfbc474912e4a48d633ff2
CRs-fixed: 2909614
2021-03-30 12:50:47 -07:00
Aditya Sathish
e15153c092 qcacmn: Add WMI service support for DCS AWGN
Add support to read the WMI service bit describing support
for the DCS AWGN interference detection mechanism.

CRs-Fixed: 2906768
Change-Id: Id062b9d63a09f522ac1efdbaf6731665fa438630
2021-03-30 01:46:56 -07:00
Kiran Kumar Lokere
71f512e37f qcacmn: Update the max no.of TPE IE value
Management frames can carry maximum 8 TPE IEs. Update the max no.of
TPE IE value.

Change-Id: If920ea034a5d25b49f4e1a7809e619715aca2afe
CRs-Fixed: 2858228
2021-03-29 20:35:32 -07:00
Jianmin Zhu
4294dd6bff qcacmn: Clean up wlan_reg_get_channel_reg_power
Clean up channel id api wlan_reg_get_channel_reg_power.

Change-Id: Ib0b9584029a310eed494a4bd00d5f2500468a76f
CRs-Fixed: 2905088
2021-03-26 18:36:10 -07:00
Jingxiang Ge
83053abc6f qcacmn: Adjust format in hif_latency_detect_credit_record_time
Adjust format in hif_latency_detect_credit_record_time

Change-Id: I1e2e48b2c11cd677d4ce5228f0ea7b03b7f37853
CRs-Fixed: 2908993
2021-03-26 18:36:06 -07:00
Harsh Kumar Bijlani
b5b62dcb28 qcacmn: Enable rxdma1 for low memory profile to support smart monitor
SON makes use of smart monitor mode even in case of low memory profile.
Therefore enable rxdma1 in order to support smart monitor mode for
low mem profile.

Change-Id: I9692d55055ba93805475d05c4aff37b67aca1063
CRs-Fixed: 2902650
2021-03-26 16:32:52 -07:00
Sridhar Selvaraj
2395159d7f qcacmn: Invoke PDEV/VDEV MLME Deinit APIs in previous order
Ib62a46688400d5d9c2ff45c17dc41d5f0b7f58d0 modified the pdev/vdev
mlme obj destroy API call flow to right order. This causes issue
in smart monitor vap bringup with SON config.

To enable smart monitor VAP bringup, Invoke PDEV/VDEV MLME Deinit
APIs in previous order temporarily until the root cause for
non working of right order is found.

Change-Id: I021778b14601d0e8a918721dccada020710b1278
2021-03-26 04:13:51 -07:00
Neha Bisht
7cfa28adf3 qcacmn: Add HE MCS12/13 support
Add MCS12 and MCS13 support for HE mode in dp_11abgnratetable.

Change-Id: I0dec22d35bed6e12219dbfcb71d1836fed120eb9
2021-03-26 04:13:46 -07:00
Aditya Sathish
b14ef93b0c qcacmn: Add WMI support for DCS AWGN interference detection
Add support for storing AWGN interference information for
dynamic channel selection

CRs-Fixed: 2903860
Change-Id: I5d0b6cc0a55303cfb27a02b99aba066557ad9c7d
2021-03-26 00:26:55 -07:00
Amruta Kulkarni
3555f99129 qcacmn: Support roam ho fail and roam invoke fail ind in CM
Add change to support roam ho fail and roam invoke fail
indication in connection manager.

Change-Id: I2930f01119d87f8e94eae1a4b3d4003e50e1a45a
CRs-Fixed: 2906337
2021-03-25 22:23:28 -07:00
Amir Patel
7efbf8cb35 qcacmn: Enable full monitor mode during vap up
Currently full monitor is enabled at vap create time and disabled
at vap deinit time, this results not configuring full monitor
mode during vap up time leading to backpressure on montor status ring.

To have symmetry, enable full monitor mode at during vap init.

Change-Id: I7828a7f2af400cfa094dc6d6139646760c932f09
2021-03-25 16:22:06 -07:00
Pragaspathi Thilagaraj
878d42c770 qcacmn: Use correct format specifier to dump ini/cfg values
Currently the driver uses %u format specifier to dump the
ini/cfg values with the command:
iwpriv wlan0 getConfig.
This causes the negative values to be printed as large positive
values.

Use %d format specifier to dump the ini/cfg values.

Change-Id: I93dd469f7c367e889cb67ec38a2e06ddc36c7c99
CRs-Fixed: 2901248
2021-03-25 11:46:06 -07:00
Himanshu Batra
add02fc7c9 qcacmn: Add public API for ext cm pointer
Add public API for ext cm pointer

Change-Id: I4208efd33e4fb09dfd3601c0ac5ca086d8ae3475
2021-03-25 09:44:06 -07:00
Vijay Krishnan
0e98aa285b qcacmn: Modify dmesg prints on channel change
When Swift Radio change its channel multiple times, there are some
dmesg prints in the console. These prints will come in default. Therefore
modified in such a way that these prints are enabled only through
debug level.

CRs-Fixed: 2902742
Change-Id: I7e4c40ec934fb920bf9e769afb40426b593345c8
2021-03-25 05:37:00 -07:00
sheenam monga
8c26a66b29 qcacmn: Add conditional compilation for util_is_noninh_ie
Currently util_is_noninh_ie is called based on WLAN_FEATURE_MBSSID,
but definition doesn't depend on WLAN_FEATURE_MBSSID which may
cause compilation issue.

Fix is to keep definition under WLAN_FEATURE_MBSSID feature flag

Change-Id: I409c367c98bf1fe06c1c3107348f4a469ebdbd07
CRs-Fixed: 2907601
2021-03-25 03:36:26 -07:00