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

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

Merge b94746a9 on remote branch

Change-Id: Ia605c9c41d4820bfb96da68167f94c0b5d4aca7d
parents 1a59da9f b94746a9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1289,6 +1289,7 @@ QDF_STATUS dp_ipa_setup_iface(char *ifname, uint8_t *mac_addr,

	dp_debug("Add Partial hdr: %s, "QDF_MAC_ADDR_FMT, ifname,
		 QDF_MAC_ADDR_REF(mac_addr));
	qdf_mem_zero(&in, sizeof(qdf_ipa_wdi_reg_intf_in_params_t));
	qdf_mem_zero(&hdr_info, sizeof(qdf_ipa_wdi_hdr_info_t));
	qdf_ether_addr_copy(uc_tx_hdr.eth.h_source, mac_addr);

@@ -1546,6 +1547,7 @@ QDF_STATUS dp_ipa_setup_iface(char *ifname, uint8_t *mac_addr,
		  "%s: Add Partial hdr: %s, "QDF_MAC_ADDR_FMT,
		  __func__, ifname, QDF_MAC_ADDR_REF(mac_addr));

	qdf_mem_zero(&in, sizeof(qdf_ipa_wdi_reg_intf_in_params_t));
	qdf_mem_zero(&hdr_info, sizeof(qdf_ipa_wdi_hdr_info_t));
	qdf_ether_addr_copy(uc_tx_hdr.eth.h_source, mac_addr);

+2 −0
Original line number Diff line number Diff line
@@ -10574,8 +10574,10 @@ static QDF_STATUS dp_runtime_suspend(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)

		/* perform a force flush if tx is pending */
		for (i = 0; i < soc->num_tcl_data_rings; i++) {
#ifdef IPA_OFFLOAD
			if (i == IPA_TCL_DATA_RING_IDX)
				continue;
#endif
			hal_srng_set_event(soc->tcl_data_ring[i].hal_srng,
					   HAL_SRNG_FLUSH_EVENT);
			dp_flush_ring_hptp(soc, soc->tcl_data_ring[i].hal_srng);
+5 −0
Original line number Diff line number Diff line
@@ -3746,6 +3746,10 @@ enum qca_wlan_vendor_attr_nd_offload {
 *	%QCA_WLAN_VENDOR_ATTR_THERMAL_LEVEL and
 *	%QCA_WLAN_VENDOR_ATTR_THERMAL_COMPLETION_WINDOW attributes from
 *	userspace.
 * @QCA_WLAN_VENDOR_FEATURE_CONCURRENT_BAND_SESSIONS: Device supports
 *	concurrent network sessions on different Wi-Fi Bands. This feature
 *	capability is attributed to the hardware's capability to support
 *	the same (e.g., DBS).
 * @NUM_QCA_WLAN_VENDOR_FEATURES: Number of assigned feature bits
 */
enum qca_wlan_vendor_features {
@@ -3761,6 +3765,7 @@ enum qca_wlan_vendor_features {
	QCA_WLAN_VENDOR_FEATURE_11AX = 9,
	QCA_WLAN_VENDOR_FEATURE_6GHZ_SUPPORT = 10,
	QCA_WLAN_VENDOR_FEATURE_THERMAL_CONFIG = 11,
	QCA_WLAN_VENDOR_FEATURE_CONCURRENT_BAND_SESSIONS = 13,

	NUM_QCA_WLAN_VENDOR_FEATURES /* keep last */
};
+1 −0
Original line number Diff line number Diff line
@@ -823,6 +823,7 @@ void qdf_lock_stats_deinit(void)
				  __func__, lock_cookies[i].u.cookie.func,
				  lock_cookies[i].u.cookie.line);
	}
	lock_cookie_freelist = NULL;
}

/* allocated separate memory in case the lock memory is freed without
+20 −7
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 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
@@ -1986,9 +1987,9 @@ util_scan_parse_beacon_frame(struct wlan_objmgr_pdev *pdev,
{
	struct wlan_bcn_frame *bcn;
	struct wlan_frame_hdr *hdr;
	uint8_t *mbssid_ie = NULL;
	uint8_t *mbssid_ie = NULL, *extcap_ie;
	uint32_t ie_len = 0;
	QDF_STATUS status;
	QDF_STATUS status = QDF_STATUS_E_FAILURE;
	struct scan_mbssid_info mbssid_info = { 0 };

	hdr = (struct wlan_frame_hdr *)frame;
@@ -1998,13 +1999,25 @@ util_scan_parse_beacon_frame(struct wlan_objmgr_pdev *pdev,
		sizeof(struct wlan_frame_hdr) -
		offsetof(struct wlan_bcn_frame, ie));

	extcap_ie = util_scan_find_ie(WLAN_ELEMID_XCAPS,
				      (uint8_t *)&bcn->ie, ie_len);
	/* Process MBSSID when Multiple BSSID (Bit 22) is set in Ext Caps */
	if (extcap_ie &&
	    extcap_ie[1] >= 3 && extcap_ie[1] <= WLAN_EXTCAP_IE_MAX_LEN &&
	    (extcap_ie[4] & 0x40)) {
		mbssid_ie = util_scan_find_ie(WLAN_ELEMID_MULTIPLE_BSSID,
					      (uint8_t *)&bcn->ie, ie_len);
		if (mbssid_ie) {
			if (mbssid_ie[1] <= 0) {
				scm_debug("MBSSID IE length is wrong %d",
					  mbssid_ie[1]);
				return status;
			}
			qdf_mem_copy(&mbssid_info.trans_bssid,
				     hdr->i_addr3, QDF_MAC_ADDR_SIZE);
			mbssid_info.profile_count = 1 << mbssid_ie[2];
		}
	}

	status = util_scan_gen_scan_entry(pdev, frame, frame_len,
					  frm_subtype, rx_param,