From patchwork Wed Feb 14 15:58:16 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marcelo Henrique Cerri X-Patchwork-Id: 873400 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3zhPGG13G0z9t5R; Thu, 15 Feb 2018 02:58:46 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1elzSE-0001Xf-CG; Wed, 14 Feb 2018 15:58:42 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.86_2) (envelope-from ) id 1elzSB-0001U1-0U for kernel-team@lists.ubuntu.com; Wed, 14 Feb 2018 15:58:39 +0000 Received: from mail-qk0-f199.google.com ([209.85.220.199]) by youngberry.canonical.com with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1elzSA-00082n-Lb for kernel-team@lists.ubuntu.com; Wed, 14 Feb 2018 15:58:38 +0000 Received: by mail-qk0-f199.google.com with SMTP id l27so7036277qkj.1 for ; Wed, 14 Feb 2018 07:58:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=A/eP8u6Qn6WHp8o4HTwHvlg5/njnTY20uv3TbQUwDUI=; b=k3JS9iGCQ3a4GbQV+FTFBpT90fWTabtGrjCsEA3oYfhIaN3gJXAirRlTzey7izUjbS v7Gctto5aVfqEQi0LEgSaNCBhnuILu32G3q403RjpX2mBzCYQWK682PUozJmDBuP6xzj Bd5AEyxGZWDEZJtBF0N+fLeO4InsUh+mv7gCdbglYsesrgUPMQOkHqXcNmXyOrkFpTxd DRnQRO5NzN+ESXhZCoxBSkeQV8cXq6A9f2SxLhMiib8VgIj9stkT3EHT/z3y7I1MDGgI YEG0nECmj2udgm+0SqUxbPMf6J8CrDz8yREJI/Qduubp62nrbAELqaOiIRZ2/989iBOF c+cQ== X-Gm-Message-State: APf1xPC/j0Rd1rLKOk//vdlC/KiF2QWOEqqFbdr4TelE5Gpoi9n+GpBy sXfY8imMWEHzi15/jpHhc/58o66dWQsg6PdKh4jg0HODOp3n8n48uGdK58WmW/0BYm1kpWKm9px uD0TEIQxSVJ8nsOn+tB9XJFV97Cw2rzNeukNCdbbf X-Received: by 10.200.63.145 with SMTP id d17mr8500220qtk.299.1518623917453; Wed, 14 Feb 2018 07:58:37 -0800 (PST) X-Google-Smtp-Source: AH8x227dTH24xZshlQxBlVXFdyejHTUIqby6shFaqtN8Bitsio9s2AmOEa2KqFfguXsuWnWP6dvloA== X-Received: by 10.200.63.145 with SMTP id d17mr8500201qtk.299.1518623917223; Wed, 14 Feb 2018 07:58:37 -0800 (PST) Received: from localhost.localdomain (189-19-106-18.dsl.telesp.net.br. [189.19.106.18]) by smtp.gmail.com with ESMTPSA id l78sm9312245qke.6.2018.02.14.07.58.35 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 14 Feb 2018 07:58:36 -0800 (PST) From: Marcelo Henrique Cerri To: kernel-team@lists.ubuntu.com Subject: [azure:x/azure-edge:x][PATCH 5/6] UBUNTU: SAUCE: vmbus-rdma: ND144: remove idr handle before calling ND on freeing CQ and QP Date: Wed, 14 Feb 2018 13:58:16 -0200 Message-Id: <1518623897-18991-6-git-send-email-marcelo.cerri@canonical.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1518623897-18991-1-git-send-email-marcelo.cerri@canonical.com> References: <1518623897-18991-1-git-send-email-marcelo.cerri@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Long Li BugLink: http://bugs.launchpad.net/bugs/1749332 Signed-off-by: Long Li Signed-off-by: Marcelo Henrique Cerri --- .../hw/vmbus-rdma/vmbus-rdma-144.0/vmbus_rdma.c | 24 +++++----------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/drivers/infiniband/hw/vmbus-rdma/vmbus-rdma-144.0/vmbus_rdma.c b/drivers/infiniband/hw/vmbus-rdma/vmbus-rdma-144.0/vmbus_rdma.c index daf68dcccb1b..58f2484fb819 100644 --- a/drivers/infiniband/hw/vmbus-rdma/vmbus-rdma-144.0/vmbus_rdma.c +++ b/drivers/infiniband/hw/vmbus-rdma/vmbus-rdma-144.0/vmbus_rdma.c @@ -1023,9 +1023,9 @@ int hvnd_create_cq(struct hvnd_dev *nd_dev, struct hvnd_ucontext *uctx, int hvnd_destroy_cq(struct hvnd_dev *nd_dev, struct hvnd_cq *cq) { struct pkt_nd_free_cq free_cq_pkt; - int ret; - // KYS try to avoid having to zero everything + remove_handle(nd_dev, &nd_dev->cqidr, cq->cqn); + memset(&free_cq_pkt, 0, sizeof(free_cq_pkt)); hvnd_init_hdr(&free_cq_pkt.hdr, sizeof(struct pkt_nd_free_cq) - @@ -1040,19 +1040,9 @@ int hvnd_destroy_cq(struct hvnd_dev *nd_dev, struct hvnd_cq *cq) free_cq_pkt.ioctl.in.version = ND_VERSION_1; free_cq_pkt.ioctl.in.handle = cq->cq_handle; - ret = hvnd_send_ioctl_pkt(nd_dev, &free_cq_pkt.hdr, + return hvnd_send_ioctl_pkt(nd_dev, &free_cq_pkt.hdr, sizeof(struct pkt_nd_free_cq), (u64)&free_cq_pkt); - - if (ret) - goto free_cq_err; - - remove_handle(nd_dev, &nd_dev->cqidr, cq->cqn); - - return 0; - -free_cq_err: - return ret; } @@ -2291,12 +2281,8 @@ int hvnd_create_qp(struct hvnd_dev *nd_dev, struct hvnd_ucontext *uctx, int hvnd_free_qp(struct hvnd_dev *nd_dev, struct hvnd_ucontext *uctx, struct hvnd_qp *qp) { - int ret; - - ret = hvnd_free_handle(nd_dev, uctx, qp->qp_handle, IOCTL_ND_QP_FREE); - if (ret == 0) - remove_handle(nd_dev, &nd_dev->qpidr, qp->qpn); - return ret; + remove_handle(nd_dev, &nd_dev->qpidr, qp->qpn); + return hvnd_free_handle(nd_dev, uctx, qp->qp_handle, IOCTL_ND_QP_FREE); } int hvnd_flush_qp(struct hvnd_dev *nd_dev, struct hvnd_ucontext *uctx,