From 4b47747094aaf8a4308f59a2370b6c21a3a56476 Mon Sep 17 00:00:00 2001 From: Roy Pledge Date: Tue, 16 Jul 2013 10:32:11 -0400 Subject: Fix regression that caused BMan interrupt lookup for USDPAA to return incorrect information Signed-off-by: Roy Pledge Change-Id: I72e62fb6d37f63d13bd1f93029f1a4af24924ba9 Reviewed-on: http://git.am.freescale.net:8181/3336 Reviewed-by: Wang Haiying-R54964 Reviewed-by: Thorpe Geoff-R01361 Tested-by: Review Code-CDREVIEW Reviewed-by: Fleming Andrew-AFLEMING diff --git a/drivers/staging/fsl_qbman/fsl_usdpaa.c b/drivers/staging/fsl_qbman/fsl_usdpaa.c index 7df18e1..c19f3f3 100644 --- a/drivers/staging/fsl_qbman/fsl_usdpaa.c +++ b/drivers/staging/fsl_qbman/fsl_usdpaa.c @@ -1294,11 +1294,14 @@ int usdpaa_get_portal_config(struct file *filp, void *cinh, list_for_each_entry(portal, &context->portals, list) { if (portal->user.type == ptype && portal->user.addr.cinh == cinh) { + if (ptype == usdpaa_portal_qman) { + *irq = portal->qportal->public_cfg.irq; + *iir_reg = portal->qportal->addr_virt[1] + QM_REG_IIR; + } else { + *irq = portal->bportal->public_cfg.irq; + *iir_reg = portal->bportal->addr_virt[1] + BM_REG_IIR; + } spin_unlock(&context->lock); - *irq = portal->qportal->public_cfg.irq; - *iir_reg = portal->qportal->addr_virt[1] + - ((ptype == usdpaa_portal_qman) ? QM_REG_IIR : - BM_REG_IIR); return 0; } } -- cgit v0.10.2