From c9d41c728cb9fc5c100030d39d81be3d8e0b26d7 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(+) --- 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 (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; }