diff options
-rw-r--r-- | drivers/infiniband/hw/amso1100/c2.h | 1 | ||||
-rw-r--r-- | drivers/infiniband/hw/amso1100/c2_qp.c | 3 |
2 files changed, 1 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/amso1100/c2.h b/drivers/infiniband/hw/amso1100/c2.h index ba7a1208ff9e..d619d735838b 100644 --- a/drivers/infiniband/hw/amso1100/c2.h +++ b/drivers/infiniband/hw/amso1100/c2.h | |||
@@ -265,7 +265,6 @@ struct c2_pd_table { | |||
265 | struct c2_qp_table { | 265 | struct c2_qp_table { |
266 | struct idr idr; | 266 | struct idr idr; |
267 | spinlock_t lock; | 267 | spinlock_t lock; |
268 | int last; | ||
269 | }; | 268 | }; |
270 | 269 | ||
271 | struct c2_element { | 270 | struct c2_element { |
diff --git a/drivers/infiniband/hw/amso1100/c2_qp.c b/drivers/infiniband/hw/amso1100/c2_qp.c index 0ab826b280b2..86708dee58b1 100644 --- a/drivers/infiniband/hw/amso1100/c2_qp.c +++ b/drivers/infiniband/hw/amso1100/c2_qp.c | |||
@@ -385,8 +385,7 @@ static int c2_alloc_qpn(struct c2_dev *c2dev, struct c2_qp *qp) | |||
385 | idr_preload(GFP_KERNEL); | 385 | idr_preload(GFP_KERNEL); |
386 | spin_lock_irq(&c2dev->qp_table.lock); | 386 | spin_lock_irq(&c2dev->qp_table.lock); |
387 | 387 | ||
388 | ret = idr_alloc(&c2dev->qp_table.idr, qp, c2dev->qp_table.last++, 0, | 388 | ret = idr_alloc_cyclic(&c2dev->qp_table.idr, qp, 0, 0, GFP_NOWAIT); |
389 | GFP_NOWAIT); | ||
390 | if (ret >= 0) | 389 | if (ret >= 0) |
391 | qp->qpn = ret; | 390 | qp->qpn = ret; |
392 | 391 | ||