From 265a877c3faa311811ed5b5dd03c9ed493a31a2f Mon Sep 17 00:00:00 2001 From: Roy Pledge Date: Wed, 8 Aug 2018 17:13:48 -0400 Subject: [PATCH] staging/fsl_qbman: Recalcuate cursor after consuming ring If the dqrr_init() function consumes frames during init the cursor needs to be updated before anything starts to use the ring. Signed-off-by: Roy Pledge --- drivers/staging/fsl_qbman/qman_low.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/staging/fsl_qbman/qman_low.h b/drivers/staging/fsl_qbman/qman_low.h index 4cd7fc558f1d..d58af1b532b7 100644 --- a/drivers/staging/fsl_qbman/qman_low.h +++ b/drivers/staging/fsl_qbman/qman_low.h @@ -682,6 +682,9 @@ static inline int qm_dqrr_init(struct qm_portal *portal, (0 ? 0x10 : 0); /* Ignore SP */ qm_out(CFG, cfg); qm_dqrr_set_maxfill(portal, max_fill); + + /* Recalculate cursor as we may have consumed frames */ + dqrr->cursor = dqrr->ring + dqrr->ci; return 0; }