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

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

Merge 5616aa6f on remote branch

Change-Id: I69e0114cdf4b28eb240e6e79ff7d284dee164ec9
parents 560dd527 5616aa6f
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018-2020 The Linux Foundation. All rights reserved.
 * Copyright (c) 2018-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
@@ -552,7 +552,7 @@ cfg_store_print(struct wlan_objmgr_psoc *psoc)

#undef __CFG_INI
#define __CFG_INI(id, mtype, ctype, name, min, max, fallback, desc, def...) \
	cfg_nofl_debug("%s %u", name, *(ctype *)&store->values.id##_internal);
	cfg_nofl_debug("%s %d", name, *(ctype *)&store->values.id##_internal);

#undef __CFG_INI_STRING
#define __CFG_INI_STRING(id, mtype, ctype, name, min_len, max_len, ...) \
@@ -620,7 +620,7 @@ cfg_ini_config_print(struct wlan_objmgr_psoc *psoc, uint8_t *buf,
#undef __CFG_INI
#define __CFG_INI(id, mtype, ctype, name, min, max, fallback, desc, def...) \
	do { \
		len = qdf_scnprintf(buf, buflen, "%s %u\n", name, \
		len = qdf_scnprintf(buf, buflen, "%s %d\n", name, \
				    *(ctype *)&store->values.id##_internal); \
		buf += len; \
		buflen -= len; \
+8 −3
Original line number Diff line number Diff line
@@ -5537,7 +5537,6 @@ static QDF_STATUS dp_vdev_attach_wifi3(struct cdp_soc_t *cdp_soc,
	qdf_spinlock_create(&vdev->peer_list_lock);
	TAILQ_INIT(&vdev->peer_list);
	dp_peer_multipass_list_init(vdev);

	if ((soc->intr_mode == DP_INTR_POLL) &&
	    wlan_cfg_get_num_contexts(soc->wlan_cfg_ctx) != 0) {
		if ((pdev->vdev_count == 0) ||
@@ -5574,14 +5573,19 @@ static QDF_STATUS dp_vdev_attach_wifi3(struct cdp_soc_t *cdp_soc,
		vdev->ap_bridge_enabled = true;
	else
		vdev->ap_bridge_enabled = false;

	QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO,
		  "%s: wlan_cfg_ap_bridge_enabled %d",
		  __func__, vdev->ap_bridge_enabled);

	dp_tx_vdev_attach(vdev);

	if (pdev->vdev_count == 1)
		dp_lro_hash_setup(soc, pdev);
	if (!pdev->is_lro_hash_configured) {
		if (QDF_IS_STATUS_SUCCESS(dp_lro_hash_setup(soc, pdev)))
			pdev->is_lro_hash_configured = true;
		else
			dp_err("LRO hash setup failure!");
	}

	dp_info("Created vdev %pK ("QDF_MAC_ADDR_FMT")", vdev,
		QDF_MAC_ADDR_REF(vdev->mac_addr.raw));
@@ -5836,6 +5840,7 @@ static QDF_STATUS dp_vdev_detach_wifi3(struct cdp_soc_t *cdp_soc,
	if (vdev->opmode != wlan_op_mode_monitor)
		dp_vdev_pdev_list_remove(soc, pdev, vdev);

	pdev->vdev_count--;
	/* release reference taken above for find */
	dp_vdev_unref_delete(soc, vdev, DP_MOD_ID_CDP);

+6 −8
Original line number Diff line number Diff line
@@ -1009,16 +1009,13 @@ uint8_t dp_rx_process_invalid_peer(struct dp_soc *soc, qdf_nbuf_t mpdu,
	}

	if (qdf_nbuf_len(mpdu) < sizeof(struct ieee80211_frame)) {
		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
			  "Invalid nbuf length");
		dp_info_rl("Invalid nbuf length");
		goto free;
	}

	pdev = dp_get_pdev_for_lmac_id(soc, mac_id);
	if (!pdev) {
		QDF_TRACE(QDF_MODULE_ID_DP,
			  QDF_TRACE_LEVEL_ERROR,
			  "PDEV not found");
		dp_info_rl("PDEV not found");
		goto free;
	}

@@ -1033,8 +1030,7 @@ uint8_t dp_rx_process_invalid_peer(struct dp_soc *soc, qdf_nbuf_t mpdu,
	qdf_spin_unlock_bh(&pdev->vdev_list_lock);

	if (!vdev) {
		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
			  "VDEV not found");
		dp_info_rl("VDEV not found");
		goto free;
	}

@@ -1909,7 +1905,7 @@ dp_rx_desc_nbuf_len_sanity_check(struct dp_soc *soc,
	struct rx_desc_pool *rx_desc_pool;

	rx_desc_pool = &soc->rx_desc_buf[0];
	qdf_assert_always(pkt_len < rx_desc_pool->buf_size);
	qdf_assert_always(pkt_len <= rx_desc_pool->buf_size);
}
#else
static inline
@@ -2468,6 +2464,8 @@ uint32_t dp_rx_process(struct dp_intr *int_ctx, hal_ring_handle_t hal_ring_hdl,
						soc,
						rx.msdu_scatter_wait_break,
						1);
					dp_rx_cookie_reset_invalid_bit(
								     ring_desc);
					break;
				}
				is_prev_msdu_last = false;
+18 −0
Original line number Diff line number Diff line
@@ -563,12 +563,30 @@ dp_rx_cookie_check_and_invalidate(hal_ring_desc_t ring_desc)
	HAL_RX_REO_BUF_COOKIE_INVALID_SET(ring_desc);
	return QDF_STATUS_SUCCESS;
}

/**
 * dp_rx_cookie_reset_invalid_bit() - Reset the invalid bit of the cookie
 *  field in ring descriptor
 * @ring_desc: ring descriptor
 *
 * Return: None
 */
static inline void
dp_rx_cookie_reset_invalid_bit(hal_ring_desc_t ring_desc)
{
	HAL_RX_REO_BUF_COOKIE_INVALID_RESET(ring_desc);
}
#else
static inline QDF_STATUS
dp_rx_cookie_check_and_invalidate(hal_ring_desc_t ring_desc)
{
	return QDF_STATUS_SUCCESS;
}

static inline void
dp_rx_cookie_reset_invalid_bit(hal_ring_desc_t ring_desc)
{
}
#endif

QDF_STATUS dp_rx_desc_pool_is_allocated(struct rx_desc_pool *rx_desc_pool);
+1 −2
Original line number Diff line number Diff line
@@ -1374,8 +1374,7 @@ dp_rx_process_rxdma_err(struct dp_soc *soc, qdf_nbuf_t nbuf,

	vdev = peer->vdev;
	if (!vdev) {
		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
				FL("INVALID vdev %pK OR osif_rx"), vdev);
		dp_info_rl("INVALID vdev %pK OR osif_rx", vdev);
		/* Drop & free packet */
		qdf_nbuf_free(nbuf);
		DP_STATS_INC(soc, rx.err.invalid_vdev, 1);
Loading