qcacld-3.0: Fix mgmt tx from supplicant failed on 6Ghz chan

Currently wlan_hdd_mgmt_tx path is still using legacy API to convert
channel frequency to number, it is not applicable for 6Ghz channel if
convert it back from number to frequency.

Fix it by replace all places where using legacy API to convert channel
and use channel frequency from supplicant directly. It can fix mgmt tx
from supplicant on 6Ghz channel.

Change-Id: I60fe37d7d716eeaceaa00f3fb59c77b629ebacac
CRs-Fixed: 3024898
このコミットが含まれているのは:
Will Huang
2021-09-06 17:07:50 +08:00
committed by Madan Koyyalamudi
コミット 7b2c4923c7
7個のファイルの変更19行の追加27行の削除

ファイルの表示

@@ -1085,7 +1085,7 @@ static QDF_STATUS p2p_mgmt_tx(struct tx_action_context *tx_ctx,
}
if (tx_ctx->chan)
chanfreq = wlan_reg_legacy_chan_to_freq(pdev, tx_ctx->chan);
chanfreq = tx_ctx->chan;
mgmt_param.chanfreq = chanfreq;

ファイルの表示

@@ -173,7 +173,7 @@ struct tx_action_context {
int scan_id;
uint64_t roc_cookie;
int32_t id;
uint8_t chan;
qdf_freq_t chan;
uint8_t *buf;
int buf_len;
bool off_chan;

ファイルの表示

@@ -113,9 +113,7 @@ static QDF_STATUS p2p_scan_start(struct p2p_roc_context *roc_ctx)
req->scan_req.scan_type = SCAN_TYPE_P2P_LISTEN;
req->scan_req.scan_req_id = p2p_soc_obj->scan_req_id;
req->scan_req.chan_list.num_chan = 1;
req->scan_req.chan_list.chan[0].freq = wlan_reg_legacy_chan_to_freq(
pdev,
roc_ctx->chan);
req->scan_req.chan_list.chan[0].freq = roc_ctx->chan;
req->scan_req.dwell_time_passive = roc_ctx->duration;
req->scan_req.dwell_time_active = 0;
req->scan_req.scan_priority = SCAN_PRIORITY_HIGH;

ファイルの表示

@@ -90,7 +90,7 @@ struct p2p_roc_context {
uint32_t vdev_id;
uint32_t scan_id;
void *tx_ctx;
uint8_t chan;
qdf_freq_t chan;
uint8_t phy_mode;
uint32_t duration;
enum roc_type roc_type;

ファイルの表示

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2019, 2021 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -67,7 +67,7 @@ struct p2p_ps_params {
*/
struct p2p_roc_req {
uint32_t vdev_id;
uint32_t chan;
qdf_freq_t chan;
uint32_t phy_mode;
uint32_t duration;
};
@@ -96,7 +96,7 @@ struct p2p_event {
uint32_t vdev_id;
enum p2p_roc_event roc_event;
uint64_t cookie;
uint32_t chan;
qdf_freq_t chan;
uint32_t duration;
};