[PATCH 5.9 038/252] qed: fix ILT configuration of SRC block

From: Greg Kroah-Hartman
Date: Mon Nov 23 2020 - 08:17:11 EST


From: Dmitry Bogdanov <dbogdanov@xxxxxxxxxxx>

[ Upstream commit 93be52612431e71ee8cb980ef11468997857e4c4 ]

The code refactoring of ILT configuration was not complete, the old
unused variables were used for the SRC block. That could lead to the memory
corruption by HW when rx filters are configured.
This patch completes that refactoring.

Fixes: 8a52bbab39c9 (qed: Debug feature: ilt and mdump)
Signed-off-by: Igor Russkikh <irusskikh@xxxxxxxxxxx>
Signed-off-by: Ariel Elior <aelior@xxxxxxxxxxx>
Signed-off-by: Dmitry Bogdanov <dbogdanov@xxxxxxxxxxx>
Link: https://lore.kernel.org/r/20201116132944.2055-1-dbogdanov@xxxxxxxxxxx
Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
drivers/net/ethernet/qlogic/qed/qed_cxt.c | 4 ++--
drivers/net/ethernet/qlogic/qed/qed_cxt.h | 3 ---
2 files changed, 2 insertions(+), 5 deletions(-)

--- a/drivers/net/ethernet/qlogic/qed/qed_cxt.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_cxt.c
@@ -1647,9 +1647,9 @@ static void qed_src_init_pf(struct qed_h
ilog2(rounded_conn_num));

STORE_RT_REG_AGG(p_hwfn, SRC_REG_FIRSTFREE_RT_OFFSET,
- p_hwfn->p_cxt_mngr->first_free);
+ p_hwfn->p_cxt_mngr->src_t2.first_free);
STORE_RT_REG_AGG(p_hwfn, SRC_REG_LASTFREE_RT_OFFSET,
- p_hwfn->p_cxt_mngr->last_free);
+ p_hwfn->p_cxt_mngr->src_t2.last_free);
}

/* Timers PF */
--- a/drivers/net/ethernet/qlogic/qed/qed_cxt.h
+++ b/drivers/net/ethernet/qlogic/qed/qed_cxt.h
@@ -326,9 +326,6 @@ struct qed_cxt_mngr {

/* SRC T2 */
struct qed_src_t2 src_t2;
- u32 t2_num_pages;
- u64 first_free;
- u64 last_free;

/* total number of SRQ's for this hwfn */
u32 srq_count;