Update SAP data structures to use channel frequency values instead
of using the channel id values to support 6GHz channels in SAP.
Change-Id: I9ef5857e8dcf3f7d879495d3f3c3ead083fe0bf0
CRs-Fixed: 2513083
Platform driver is still doing MHI cleanup at the current location of
clearing the recovery flag. Clear it after platform driver callback.
Change-Id: Ifa81950790fa3d2704ed1aed85301a99c6383470
CRs-Fixed: 2526873
As a part of 802.11ax amendment, 6GHz band operation is added.
Since the 6 GHz channel numbers are overlapping with existing 2.4GHz
and 5GHz channel numbers, use frequency to identify unique channel
operation instead of channel number. Channel frequency is unique across
bands.
As a part of above requirement, in the existing WMI interface handlers
and related functions, wherever missing, add frequency attributes to
identify unique channel operation.
Change-Id: I757f60cef414d206b275b4fbd192d5d22bbc93d7
CRs-Fixed: 2517901
In function wma_process_update_opmode, interface phy mode
is used to update peer phy mode to FW, which will cause
a mis-behavior in FW during channel switch.
Use peer phy mode, instead of interface phy mode when
driver is sending WMI_PEER_PHYMODE cmd to FW.
Also to make peer phy mode population to FW possible,
add the following APIs to do host to FW phy mode
conversion:
wma_host_to_fw_phymode_160
wma_host_to_fw_phymode_11ax
wma_host_to_fw_phymode
Fix some kernel-doc discrepancies for the following
existing functions:
wma_fw_to_host_phymode
wma_fw_to_host_phymode_160
wma_fw_to_host_phymode_11ax
Change-Id: I6184a1735d37f648763b149795ac7930bce45346
CRs-Fixed: 2497684
When wma_shutdown_notifier_cb post wma_cleanup_vdev_resp_and_hold_req
the msg.bodyptr is wma. Now during flush the drive will try to free
the msg.bodyptr and may lead to assert.
Fix this by adding dummy flush callback so that driver will not try
to free msg.bodyptr for this msg.
Change-Id: I0734a2ee80dff1d9d4437a009c4c0061485b4de5
CRs-Fixed: 2529950
Currently the driver does undo acs which clears away
the acs cfg ch list, master ch list, and sap_ctx->ch_list
before the ACS is complete (race condition), which can
lead to pointer access after free.
Fix is to wait for ACS complete event, and then clear away
the above mentioned ch lists.
Change-Id: I55de1e94d1fc3ebb99891465131de11ea3204778
CRs-Fixed: 2519650
When channel switch, don't use tpSwitchChannelParams, fill
wma_vdev_start_req directly in LIM lim_send_switch_chnl_params.
Update wma_set_channel(struct wma_vdev_start_req *req)
PE/LIM call wma API directly for channel switch, don't post msg.
Clean up useless tpSwitchChannelParams.
Change-Id: I876207909ff0bc50f9ec1fbff639c0e9b7d03907
CRs-Fixed: 2529018
NAN_NDP+SAP concurrency is not supported. Disable all NAN_NDP
sessions on SAP startup.
Change-Id: I73284ef4f820dd15df808b9c44da5f09c6b5db26
CRs-fixed: 2524112
If wma ready event timeout, and pdev has been created but not
yet finished wmi_ready, so it will cause pdev object leak.
Fix is to release pdev without checking if wmi ready here.
Change-Id: Ib03a7a2733cd399064d68e4cb5ff8f699be62024
CRs-Fixed: 2525749
Host driver could not get correct timestamp of Rx AMPDU packet sometimes.
The reason is PTP timestamp is stored in PPDU_END info, only last msdu
description contain it.Rx indication which sent from target has limited
number of MSDU.If none of them is last msdu, Host driver will not get
the correct timestamp.
Add two parameters to record the last system time and timestamp. If
Host driver detect no last msdu in Rx indication, It will calculate the
timestamp according to the difference of two parameters and current
system time.
Change-Id: Iea94f5c0a681ec1d377cbed9dd5b00b100223cc7
CRs-Fixed: 2513659
Use the correct configuration parameter to enable the
vendor VHT IE support in SAP mode.
Change-Id: I15330d372fe2b83bb229aa967bea5d43813ada95
CRs-Fixed: 2526798
Currently the driver flushes the scan entry in the scan
db for the BSSID which it was connected to in deauth, disassoc
and lostlink case.
In case of disassoc, and deauth, ap is still alive, hence
there is a chance for connection, but in lostlink case
there is no chance as the AP is switched off.
So if the supplicant finds the scan result in the scan
cache, it would try connect with this, but since the AP is not
present, and cannot service anymore, it would result to a
failed connect attempt.
After several failure attempts, supplicant would blacklist the
AP for some time.
If the AP is alive again, the DUT cannot connect to it since
it is blacklisted. Hence this situation leads to blacklisting
a AP which did not send any assoc reject, and can service the
DUT.
Fix is to clear the scan cache so that supplicant cannot try to
send connect request for this AP to the driver, hence there
would be no point to blacklist the AP.
This would ensure the wireless connection with this AP in
future.
Change-Id: I14fb36ef588856750917d83c32644b135186def9
CRs-Fixed: 2525539
Currently the driver does not verify the channel of the
AP and adds that to the connect list.
If a connect comes to the driver for this BSSID, then the
driver sends the same channel to the FW to start the vdev
which results in an assert due to channel not valid.
Fix is to check the validity of the channel and send a
vdev start only with a valid channel frequency.
Change-Id: Ic5c8c446f8731b32123051126503b071428f122c
CRs-Fixed: 2515158
CONFIG_LEGACY_CHAN_ENUM has been removed. That macro needs channel number
based enumeration. Use channel frequency going forward. So change to
frequency based channel enumeration.
Change-Id: I234eb070a6dcfaf3325bbd523c19188d5b2bbd24
CRs-Fixed: 2513098
In __iw_set_pno if memory allocation for data fails the vdev ref is
not released. Also the osif code uses WLAN_LEGACY_MAC_ID instead of
WLAN_OSIF_ID to take the vdev ref.
Fix the vdev ref leak and use WLAN_OSIF_ID to take vdev ref in
__iw_set_pno.
Change-Id: Ibb7e10ad51e36bbbcf4238aa099e2a05818ea1c1
CRs-Fixed: 2525960
When WMI_IFACE_LINK_STATS_EVENTID is received, WMA layer should
check FW service bit to confirm if HW db2dbm conversion is
enabled or not, or the final results indicated to HDD layer
will be inaccurate.
Add FW service bit checking to make sure db2dbm conversion is
done by driver when HW doesn't support it.
Change-Id: Id369999e4d5a6805200de82d1e8caf3121582c40
CRs-Fixed: 2506620
It need rx chainmask to select noise floor when start spectral gen3
scan and rx data by DMA. So set rx chainmask before start spectral
scan.
Change-Id: I63efd8f5384537b5697ba809bb05fdd17e243210
CRs-Fixed: 2519366
Spectral tool is required to compatible with different version of
spectral, so add version information in SPECTRAL_SCAN_REGISTER_RSP.
Change-Id: Id766d95463e511209c752a428761fe7f1380c53e
CRs-Fixed: 2495259
Populate vdev mlme obj and dest chain with vdev start req for
vdev_mgr_start_send.
Remove vdev_start_params from wma_vdev_start.
Remove vdev_mgr_start_param_populate.
Change-Id: I8606441341344fbcd181facf4000942ff94ac00d
CRs-Fixed: 2516590
Do not enable AMSDU Rx by advertising advertises AMSDUSUPPPORTED=0
in ADD_BA response if the connection is on 2.4Ghz.
Change-Id: I1c61ce9f3824a600fbd5123680b7d00ae7659438
CRs-Fixed: 2519746