[PATCH 04/14] RDMA/cxgb4: Use common error handling code in recover_queues()
From: SF Markus Elfring
Date: Wed Feb 08 2017 - 16:14:44 EST
From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 8 Feb 2017 15:51:58 +0100
Add a jump target so that a bit of exception handling can be better reused
at the end of this function.
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
drivers/infiniband/hw/cxgb4/device.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/infiniband/hw/cxgb4/device.c b/drivers/infiniband/hw/cxgb4/device.c
index 444c28206dae..46410c4a9afb 100644
--- a/drivers/infiniband/hw/cxgb4/device.c
+++ b/drivers/infiniband/hw/cxgb4/device.c
@@ -1467,10 +1467,9 @@ static void recover_queues(struct uld_ctx *ctx)
idr_for_each(&ctx->dev->qpidr, count_qps, &count);
qp_list.qps = kcalloc(count, sizeof(*qp_list.qps), GFP_ATOMIC);
- if (!qp_list.qps) {
- spin_unlock_irq(&ctx->dev->lock);
- return;
- }
+ if (!qp_list.qps)
+ goto unlock;
+
qp_list.idx = 0;
/* add and ref each qp so it doesn't get freed */
@@ -1488,6 +1487,7 @@ static void recover_queues(struct uld_ctx *ctx)
spin_lock_irq(&ctx->dev->lock);
WARN_ON(ctx->dev->db_state != RECOVERY);
ctx->dev->db_state = STOPPED;
+unlock:
spin_unlock_irq(&ctx->dev->lock);
}
--
2.11.1