Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3131b518 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 3e51b2ee on remote branch

Change-Id: Iadc5cd5b775883a13d8b37c569c20ae2f8852329
parents cf06cfab 3e51b2ee
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1967,6 +1967,14 @@ QDF_STATUS policy_mgr_wait_for_connection_update(
 */
QDF_STATUS policy_mgr_reset_connection_update(struct wlan_objmgr_psoc *psoc);

/**
 * policy_mgr_reset_hw_mode_change() - Reset the hw mode change.
 * @psoc: Pointer to PSOC object
 *
 * Return: none
 */
void policy_mgr_reset_hw_mode_change(struct wlan_objmgr_psoc *psoc);

/**
 * policy_mgr_set_connection_update() - Set connection update
 * event
+8 −0
Original line number Diff line number Diff line
@@ -2609,6 +2609,14 @@ QDF_STATUS policy_mgr_reset_connection_update(struct wlan_objmgr_psoc *psoc)
	return QDF_STATUS_SUCCESS;
}

void policy_mgr_reset_hw_mode_change(struct wlan_objmgr_psoc *psoc)
{
	policy_mgr_err("Clear hw mode change and connection update evt");
	policy_mgr_set_hw_mode_change_in_progress(
			psoc, POLICY_MGR_HW_MODE_NOT_IN_PROGRESS);
	policy_mgr_reset_connection_update(psoc);
}

QDF_STATUS policy_mgr_set_connection_update(struct wlan_objmgr_psoc *psoc)
{
	QDF_STATUS status;
+3 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. 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
@@ -788,6 +789,7 @@ struct nan_datapath_host_event {
 * @delete_peers_by_addr: LIM callback for deleting peer by MAC address
 * @update_ndi_conn: WMA callback to update NDI's connection info
 * @nan_concurrency_update: Callback to handle nan concurrency
 * @set_mc_list: HDD callback to set multicast peer list
 */
struct nan_callbacks {
	/* callback to os_if layer from umac */
@@ -813,6 +815,7 @@ struct nan_callbacks {
				      struct nan_datapath_channel_info
								    *chan_info);
	void (*nan_concurrency_update)(void);
	void (*set_mc_list)(struct wlan_objmgr_vdev *vdev);
};

/**
+39 −3
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
 * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. 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
@@ -186,6 +186,37 @@ inline QDF_STATUS ucfg_nan_set_active_peers(struct wlan_objmgr_vdev *vdev,
	return QDF_STATUS_SUCCESS;
}

/**
 * ucfg_nan_update_mc_list() - update the multicast list
 * @vdev: Pointer to VDEV Object
 *
 * This function will update the multicast list for NDP peer
 */
static void ucfg_nan_update_mc_list(struct wlan_objmgr_vdev *vdev)
{
	struct nan_callbacks cb_obj;
	QDF_STATUS status;
	struct wlan_objmgr_psoc *psoc = wlan_vdev_get_psoc(vdev);

	if (!psoc) {
		nan_err("psoc is null");
		return;
	}

	status = ucfg_nan_get_callbacks(psoc, &cb_obj);
	if (QDF_IS_STATUS_ERROR(status)) {
		nan_err("Couldn't get callback object");
		return;
	}

	if (!cb_obj.set_mc_list) {
		nan_err("set_mc_list callback not registered");
		return;
	}

	cb_obj.set_mc_list(vdev);
}

inline void ucfg_nan_set_peer_mc_list(struct wlan_objmgr_vdev *vdev,
				      struct qdf_mac_addr peer_mac_addr)
{
@@ -215,7 +246,7 @@ inline void ucfg_nan_set_peer_mc_list(struct wlan_objmgr_vdev *vdev,
	}
	if (list_idx == max_ndp_sessions) {
		nan_err("Peer multicast address list is full");
		goto end;
		qdf_spin_unlock_bh(&priv_obj->lock);
	}
	/* Derive peer multicast addr */
	peer_mac_addr.bytes[0] = 0x33;
@@ -223,8 +254,9 @@ inline void ucfg_nan_set_peer_mc_list(struct wlan_objmgr_vdev *vdev,
	peer_mac_addr.bytes[2] = 0xff;
	priv_obj->peer_mc_addr_list[list_idx] = peer_mac_addr;

end:
	qdf_spin_unlock_bh(&priv_obj->lock);

	ucfg_nan_update_mc_list(vdev);
}

inline void ucfg_nan_get_peer_mc_list(
@@ -269,7 +301,10 @@ inline void ucfg_nan_clear_peer_mc_list(struct wlan_objmgr_psoc *psoc,
			break;
		}
	}

	qdf_spin_unlock_bh(&priv_obj->lock);

	ucfg_nan_update_mc_list(vdev);
}

inline uint32_t ucfg_nan_get_active_peers(struct wlan_objmgr_vdev *vdev)
@@ -623,6 +658,7 @@ int ucfg_nan_register_hdd_callbacks(struct wlan_objmgr_psoc *psoc,
				ucfg_nan_request_process_cb;
	psoc_obj->cb_obj.nan_concurrency_update =
				cb_obj->nan_concurrency_update;
	psoc_obj->cb_obj.set_mc_list = cb_obj->set_mc_list;

	return 0;
}
+3 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2020-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2021, 2023 Qualcomm Innovation Center, Inc. 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
@@ -42,6 +43,8 @@
#define IEEE80211_RADIOTAP_HE_DATA1_STBC_KNOWN 0x0200
#endif

#define HAL_TX_PKT_TYPE_11B 1

/**
 * pkt_capture_data_process_type - data pkt types to process
 * for packet capture mode
Loading