Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1487485
| From | Salil Mehta <salil.mehta@huawei.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH V2 for-next 03/19] IB/hns: Fix bug of using uninit refcount and free |
| Date | 2016-09-20 18:10 +0200 |
| Message-ID | <sjvMn-5fH-51@gated-at.bofh.it> (permalink) |
| References | <sjvMm-5fH-15@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Lijun Ou <oulijun@huawei.com> In current version, it uses uninitialized parameters named refcount and free in hns_roce_cq_event. This patch initializes these parameter in cq alloc and add correspond process in cq free. Signed-off-by: Lijun Ou <oulijun@huawei.com> Signed-off-by: Dongdong Huang(Donald) <hdd.huang@huawei.com> Reviewed-by: Wei Hu <xavier.huwei@huawei.com> Signed-off-by: Salil Mehta <salil.mehta@huawei.com> --- drivers/infiniband/hw/hns/hns_roce_cq.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/infiniband/hw/hns/hns_roce_cq.c b/drivers/infiniband/hw/hns/hns_roce_cq.c index a52306f..3095f06 100644 --- a/drivers/infiniband/hw/hns/hns_roce_cq.c +++ b/drivers/infiniband/hw/hns/hns_roce_cq.c @@ -152,6 +152,9 @@ static int hns_roce_cq_alloc(struct hns_roce_dev *hr_dev, int nent, hr_cq->cons_index = 0; hr_cq->uar = hr_uar; + atomic_set(&hr_cq->refcount, 1); + init_completion(&hr_cq->free); + return 0; err_radix: @@ -191,6 +194,11 @@ static void hns_roce_free_cq(struct hns_roce_dev *hr_dev, /* Waiting interrupt process procedure carried out */ synchronize_irq(hr_dev->eq_table.eq[hr_cq->vector].irq); + /* wait for all interrupt processed */ + if (atomic_dec_and_test(&hr_cq->refcount)) + complete(&hr_cq->free); + wait_for_completion(&hr_cq->free); + spin_lock_irq(&cq_table->lock); radix_tree_delete(&cq_table->tree, hr_cq->cqn); spin_unlock_irq(&cq_table->lock); -- 1.9.1
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH V2 for-next 00/19] IB/hns: Fixes for various misc. bugs Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:10 +0200 [PATCH V2 for-next 05/19] IB/hns: Remove unused parameter named qp_type Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:10 +0200 [PATCH V2 for-next 03/19] IB/hns: Fix bug of using uninit refcount and free Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:10 +0200 [PATCH V2 for-next 06/19] IB/hns: Fix bug of clear hem Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:10 +0200 [PATCH V2 for-next 11/19] IB/hns: Return bad wr while post send failed Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 13/19] IB/hns: Some items of qpc need to take user param Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 17/19] IB/hns: Fix the bug when platform_get_resource() exec fail Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 18/19] IB/hns: Delete the redundant lines in hns_roce_v1_m_qp() Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 12/19] IB/hns: The Ack timeout need a lower limit value Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 16/19] IB/hns: Update the rq head when modify qp state Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 10/19] IB/hns: Fix bug of memory leakage for registering user mr Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 02/19] IB/hns: Remove parameters of resize cq Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 01/19] IB/hns: Remove unused parameters in some functions Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 19/19] IB/hns: Fix for removal of redundant code Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 15/19] IB/hns: Cq has not been freed Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 [PATCH V2 for-next 14/19] IB/hns: Validate mtu when modified qp Salil Mehta <salil.mehta@huawei.com> - 2016-09-20 18:20 +0200 Re: [PATCH V2 for-next 00/19] IB/hns: Fixes for various misc. bugs Leon Romanovsky <leon@kernel.org> - 2016-09-22 15:40 +0200
csiph-web