Move queue context dump and register print before interrupt clear in NIX irq handler.
Signed-off-by: Rahul Bhansali <[email protected]> --- Changes in v2: No change. drivers/common/cnxk/roc_nix_irq.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/common/cnxk/roc_nix_irq.c b/drivers/common/cnxk/roc_nix_irq.c index 2b731302cd..6874435a4e 100644 --- a/drivers/common/cnxk/roc_nix_irq.c +++ b/drivers/common/cnxk/roc_nix_irq.c @@ -168,7 +168,7 @@ nix_lf_q_irq_get_and_clear(struct nix *nix, uint16_t q, uint32_t off, reg = roc_atomic64_add_nosync(wdata, (int64_t *)(nix->base + off)); if (reg & BIT_ULL(42) /* OP_ERR */) { - plt_err("Failed execute irq get off=0x%x", off); + plt_err("Failed execute irq get queue=%d off=0x%x", q, off); return 0; } qint = reg & 0xff; @@ -262,6 +262,10 @@ nix_lf_q_irq(void *param) plt_err("Queue_intr=0x%" PRIx64 " qintx=%d pf=%d, vf=%d", intr, qintx, dev->pf, dev->vf); + /* Dump registers to std out */ + roc_nix_lf_reg_dump(nix_priv_to_roc_nix(nix), NULL); + roc_nix_queues_ctx_dump(nix_priv_to_roc_nix(nix), NULL); + /* Handle RQ interrupts */ for (q = 0; q < nix->nb_rx_queues; q++) { rq = q % nix->qints; @@ -323,10 +327,6 @@ nix_lf_q_irq(void *param) /* Clear interrupt */ plt_write64(intr, nix->base + NIX_LF_QINTX_INT(qintx)); - /* Dump registers to std out */ - roc_nix_lf_reg_dump(nix_priv_to_roc_nix(nix), NULL); - roc_nix_queues_ctx_dump(nix_priv_to_roc_nix(nix), NULL); - /* Call reset callback */ if (intr_cb && dev->ops->q_err_cb) dev->ops->q_err_cb(nix_priv_to_roc_nix(nix), NULL); -- 2.34.1

