qcacld-3.0: Fill proper channel(s) in wide band scan request
In case of 320 MHz BW, 6 GHz channel numbers are overlapping with existing 2.4 GHz and 5 GHz channel numbers. If DUT connected with one of overlapped channel, To identify exact band and corresponding bonded channels driver should pass 320 MHz center frequency to wlan_reg_get_bonded_chan_entry() as a argument along with connected 6 GHz frequency and channel width. Fix is to use 320 MHz center frequency to compute bonded channels in mlme_update_freq_in_scan_start_req(). Change-Id: I7616f0379d64e33f9bd4a208253db0a390158f77 CRs-Fixed: 3606575
Этот коммит содержится в:

коммит произвёл
Rahul Choudhary

родитель
46288c20e1
Коммит
9e1471bd14
@@ -397,22 +397,35 @@ mlme_update_freq_in_scan_start_req(struct wlan_objmgr_vdev *vdev,
|
||||
const struct bonded_channel_freq *range;
|
||||
uint8_t num_chan;
|
||||
qdf_freq_t op_freq, center_20_freq, start_freq, end_freq;
|
||||
qdf_freq_t cen320_freq = 0;
|
||||
enum scan_phy_mode phymode = SCAN_PHY_MODE_UNKNOWN;
|
||||
uint8_t vdev_id;
|
||||
struct wlan_channel *des_chan;
|
||||
|
||||
vdev_id = vdev->vdev_objmgr.vdev_id;
|
||||
|
||||
if (scan_freq != INVALID_CHANNEL)
|
||||
if (scan_freq != INVALID_CHANNEL) {
|
||||
op_freq = scan_freq;
|
||||
else
|
||||
op_freq = wlan_get_operation_chan_freq(vdev);
|
||||
} else {
|
||||
des_chan = wlan_vdev_mlme_get_des_chan(vdev);
|
||||
if (!des_chan) {
|
||||
mlme_debug("null des chan");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
op_freq = des_chan->ch_freq;
|
||||
/* Set center_freq1 to center frequency of complete 320MHz */
|
||||
cen320_freq = des_chan->ch_cfreq2;
|
||||
}
|
||||
|
||||
mlme_debug("vdev %d : fill ch list for op_freq:%d, scan_ch_width: %d",
|
||||
vdev_id, op_freq, scan_ch_width);
|
||||
mlme_debug("vdev %d :op_freq:%d, cen320_freq:%d, scan_ch_width: %d",
|
||||
vdev_id, op_freq, cen320_freq, scan_ch_width);
|
||||
|
||||
if (scan_ch_width == CH_WIDTH_320MHZ) {
|
||||
if (!cen320_freq)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
range = wlan_reg_get_bonded_chan_entry(op_freq,
|
||||
scan_ch_width, 0);
|
||||
scan_ch_width,
|
||||
cen320_freq);
|
||||
if (!range) {
|
||||
mlme_debug("vdev %d : range is null for freq %d",
|
||||
vdev_id, op_freq);
|
||||
|
Ссылка в новой задаче
Block a user