diff options
| -rw-r--r-- | drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c index 10420a18d02f..dceebc623d96 100644 --- a/drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c +++ b/drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | |||
| @@ -431,6 +431,13 @@ static void pvrdma_free_qp(struct pvrdma_qp *qp) | |||
| 431 | atomic_dec(&qp->refcnt); | 431 | atomic_dec(&qp->refcnt); |
| 432 | wait_event(qp->wait, !atomic_read(&qp->refcnt)); | 432 | wait_event(qp->wait, !atomic_read(&qp->refcnt)); |
| 433 | 433 | ||
| 434 | if (!qp->is_kernel) { | ||
| 435 | if (qp->rumem) | ||
| 436 | ib_umem_release(qp->rumem); | ||
| 437 | if (qp->sumem) | ||
| 438 | ib_umem_release(qp->sumem); | ||
| 439 | } | ||
| 440 | |||
| 434 | pvrdma_page_dir_cleanup(dev, &qp->pdir); | 441 | pvrdma_page_dir_cleanup(dev, &qp->pdir); |
| 435 | 442 | ||
| 436 | kfree(qp); | 443 | kfree(qp); |
