From patchwork Mon Oct 8 10:27:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630347 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id D1780112B for ; Mon, 8 Oct 2018 10:28:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C25A528609 for ; Mon, 8 Oct 2018 10:28:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B6C2C286C0; Mon, 8 Oct 2018 10:28:34 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 639A928609 for ; Mon, 8 Oct 2018 10:28:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726612AbeJHRje (ORCPT ); Mon, 8 Oct 2018 13:39:34 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:35225 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRje (ORCPT ); Mon, 8 Oct 2018 13:39:34 -0400 Received: by mail-wr1-f65.google.com with SMTP id w5-v6so20225563wrt.2 for ; Mon, 08 Oct 2018 03:28:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Z3CAtp2jXJ0gvHLzwYRt2YV+O39d5E6xrvViRNARCWE=; b=e0bG1Qx4+ZCUoWn35HMqgUMg7Q2MfFR8bdUQyHyhnFHwNPmgOLcNrt1llPvP2YKoap 64ITLWwIvsWH29nnYz/EIchGJUs/jxkcdJEBudRSTvZB+zy3pRz9TbPkQ3wxSigLBNb/ cmhfiCbZet8p6iPpKcAGfC8DL3VfpstXoAyUw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Z3CAtp2jXJ0gvHLzwYRt2YV+O39d5E6xrvViRNARCWE=; b=ZPXJV/9SIlMyokUhPsuH0kIEGgR/dbO5hQbw0XkHgFWbHKLmdskH44Tihnfgg8utXT HpzWqavVlaTR0iUQppps9gWEKkgpcax0f4m7lbmkGqjbIgAdTzixrRhjhSP2tuM7Bt38 Rgql0Yc8Bq1o+bQpmV9ZYdrIq/66JNpoh2rPVPZRb7p5HQsbGHyFLaZmpbN34okh6Puv 3deifgB33Ea0DZZak7aXfJJVbc0tzZ9ozbJ/OVen9ywWYnkk9J7l9jKm3uQEP+W8J8Tk WDg701JBkp+zgN43I5YA0ToLb81TZCMJR3OiUlgVbZ/+GgvmInV1CNGfgPGfV6+IVFn4 El5A== X-Gm-Message-State: ABuFfoiqUswcUJmLKHn6hPdCvKKZYvLeyqrCt1qxsLwcy8fVLpBrmYBT Pd7TcH54DXRmIHZ9ZKJVpSXwQA== X-Google-Smtp-Source: ACcGV63NTJo6Rx9tixvlu5Kddgj11gRvpf8YY3SfeA0sN372eQJ/lnS6OKqmSZ7rbYxCz0x6U4A38w== X-Received: by 2002:a5d:5601:: with SMTP id l1-v6mr16552993wrv.209.1538994511659; Mon, 08 Oct 2018 03:28:31 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.28.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:28:31 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Selvin Xavier Subject: [PATCH rdma-next 01/13] RDMA/bnxt_re: Add missing spin lock initialization Date: Mon, 8 Oct 2018 03:27:52 -0700 Message-Id: <1538994484-21390-2-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add the missing initalization of the cq_lock and qplib.flush_lock. Fixes: 942c9b6ca8de ("RDMA/bnxt_re: Avoid Hard lockup during error CQE processing") Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 1 + drivers/infiniband/hw/bnxt_re/qplib_fp.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c index bc2b9e0..bea8318 100644 --- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c +++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c @@ -2664,6 +2664,7 @@ struct ib_cq *bnxt_re_create_cq(struct ib_device *ibdev, nq->budget++; atomic_inc(&rdev->cq_count); + spin_lock_init(&cq->cq_lock); if (context) { struct bnxt_re_cq_resp resp; diff --git a/drivers/infiniband/hw/bnxt_re/qplib_fp.c b/drivers/infiniband/hw/bnxt_re/qplib_fp.c index 6eaa4b2..e141689 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_fp.c +++ b/drivers/infiniband/hw/bnxt_re/qplib_fp.c @@ -1966,6 +1966,7 @@ int bnxt_qplib_create_cq(struct bnxt_qplib_res *res, struct bnxt_qplib_cq *cq) INIT_LIST_HEAD(&cq->sqf_head); INIT_LIST_HEAD(&cq->rqf_head); spin_lock_init(&cq->compl_lock); + spin_lock_init(&cq->flush_lock); bnxt_qplib_arm_cq_enable(cq); return 0; From patchwork Mon Oct 8 10:27:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630349 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 653CA112B for ; Mon, 8 Oct 2018 10:28:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 93F56286EE for ; Mon, 8 Oct 2018 10:28:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 885942873B; Mon, 8 Oct 2018 10:28:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1E6CB286EE for ; Mon, 8 Oct 2018 10:28:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726511AbeJHRji (ORCPT ); Mon, 8 Oct 2018 13:39:38 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:35283 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRji (ORCPT ); Mon, 8 Oct 2018 13:39:38 -0400 Received: by mail-wm1-f68.google.com with SMTP id e187-v6so7771440wmf.0 for ; Mon, 08 Oct 2018 03:28:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=fJlINjU1A+kDzXIL11bL055E7CAseYOFFIPcioGp8+0=; b=btcE9pTQt/qBeK5PApyWb0B47+PSvXR+7yGlIp2UadVVGo4atzZe1qYOuw7yVN2xQs SBo9yZ2mCbVrGvQEBE2XIRtae1IRk/IavnHNQMf1HNt1Gr4C+1Dwr0S2RCIs/mx8bxEd 6NsDNlLZtPj1rpY7Kt8l1G4c8gAoR/LJmVj/M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=fJlINjU1A+kDzXIL11bL055E7CAseYOFFIPcioGp8+0=; b=hMAYDcLqkv69d7IGRZ9KKJJ3XL7uMpddbfQ4+XdFfiATK83pl/oribTy5aGkEH+g81 eZ4SIFNrAr5OvONUaYsVDJgqsKhlzMkwZmGAzkGIWlex8KNio9XBMoeTyDU5tAATVrJx p+2eDrUjbDsQ3+OaqTsjQElRa2/kRs80ATjblPJEUDn9am3/CJl8VCn7ODl62A3oa1Yi VXYafFEydpbP+fsJFtIOtxi3C4ttHcf0S6TFW2LG/CP0PegyoZ9GHdYhRVPPo2X6kngj UPHixBWdyqOLWGvoOLoRirRuJp5oNdkYjZeQADWCQ4kIuWo12xD0VLkGDsPiobT7dvH9 W//Q== X-Gm-Message-State: ABuFfoi6a1O8z5JA1opdDrp63HMQ/6MEj9QTzgrsGaa+/C6iXd7ed2pn QgHiCI3KOAU2fgFdqGTNKBlalg== X-Google-Smtp-Source: ACcGV61Rlc7h5FDQyTx/8NcrpyzTc6x3Hr2qJj+TTzA/20ozYtBgTNK//u2c2hOtYaePwkqruf/nvA== X-Received: by 2002:a1c:c683:: with SMTP id w125-v6mr14674849wmf.117.1538994514995; Mon, 08 Oct 2018 03:28:34 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.28.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:28:34 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Selvin Xavier Subject: [PATCH rdma-next 02/13] RDMA/bnxt_re: Fix recursive lock warning in debug kernel Date: Mon, 8 Oct 2018 03:27:53 -0700 Message-Id: <1538994484-21390-3-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Fix possible recursive lock warning. Its a false warning as the locks are part of two differnt HW Queue data structure - cmdq and creq. Debug kernel is throwing the following warning and stack trace. [ 783.914967] ============================================ [ 783.914970] WARNING: possible recursive locking detected [ 783.914973] 4.19.0-rc2+ #33 Not tainted [ 783.914976] -------------------------------------------- [ 783.914979] swapper/2/0 is trying to acquire lock: [ 783.914982] 000000002aa3949d (&(&hwq->lock)->rlock){..-.}, at: bnxt_qplib_service_creq+0x232/0x350 [bnxt_re] [ 783.914999] but task is already holding lock: [ 783.915002] 00000000be73920d (&(&hwq->lock)->rlock){..-.}, at: bnxt_qplib_service_creq+0x2a/0x350 [bnxt_re] [ 783.915013] other info that might help us debug this: [ 783.915016] Possible unsafe locking scenario: [ 783.915019] CPU0 [ 783.915021] ---- [ 783.915034] lock(&(&hwq->lock)->rlock); [ 783.915035] lock(&(&hwq->lock)->rlock); [ 783.915037] *** DEADLOCK *** [ 783.915038] May be due to missing lock nesting notation [ 783.915039] 1 lock held by swapper/2/0: [ 783.915040] #0: 00000000be73920d (&(&hwq->lock)->rlock){..-.}, at: bnxt_qplib_service_creq+0x2a/0x350 [bnxt_re] [ 783.915044] stack backtrace: [ 783.915046] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 4.19.0-rc2+ #33 [ 783.915047] Hardware name: Dell Inc. PowerEdge R730/0599V5, BIOS 1.0.4 08/28/2014 [ 783.915048] Call Trace: [ 783.915049] [ 783.915054] dump_stack+0x90/0xe3 [ 783.915058] __lock_acquire+0x106c/0x1080 [ 783.915061] ? sched_clock+0x5/0x10 [ 783.915063] lock_acquire+0xbd/0x1a0 [ 783.915065] ? bnxt_qplib_service_creq+0x232/0x350 [bnxt_re] [ 783.915069] _raw_spin_lock_irqsave+0x4a/0x90 [ 783.915071] ? bnxt_qplib_service_creq+0x232/0x350 [bnxt_re] [ 783.915073] bnxt_qplib_service_creq+0x232/0x350 [bnxt_re] [ 783.915078] tasklet_action_common.isra.17+0x197/0x1b0 [ 783.915081] __do_softirq+0xcb/0x3a6 [ 783.915084] irq_exit+0xe9/0x100 [ 783.915085] do_IRQ+0x6a/0x120 [ 783.915087] common_interrupt+0xf/0xf [ 783.915088] Use nested notation for the spin_lock to avoid this warning. Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c b/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c index 1410500..0c6a3ac 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c +++ b/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c @@ -311,8 +311,17 @@ static int bnxt_qplib_process_qp_event(struct bnxt_qplib_rcfw *rcfw, rcfw->aeq_handler(rcfw, qp_event, qp); break; default: - /* Command Response */ - spin_lock_irqsave(&cmdq->lock, flags); + /* + * Command Response + * cmdq->lock needs to be acquired to synchronie + * the command send and completion reaping. This function + * is always called with creq->lock held. Using + * the nested variant of spin_lock. + * + */ + + spin_lock_irqsave_nested(&cmdq->lock, flags, + SINGLE_DEPTH_NESTING); cookie = le16_to_cpu(qp_event->cookie); mcookie = qp_event->cookie; blocked = cookie & RCFW_CMD_IS_BLOCKING; From patchwork Mon Oct 8 10:27:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630351 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 71027933 for ; Mon, 8 Oct 2018 10:28:42 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 563FB288B5 for ; Mon, 8 Oct 2018 10:28:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 48A01288CA; Mon, 8 Oct 2018 10:28:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EF9B8288B5 for ; Mon, 8 Oct 2018 10:28:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726656AbeJHRjl (ORCPT ); Mon, 8 Oct 2018 13:39:41 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:40425 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRjl (ORCPT ); Mon, 8 Oct 2018 13:39:41 -0400 Received: by mail-wr1-f65.google.com with SMTP id d2-v6so15759034wro.7 for ; Mon, 08 Oct 2018 03:28:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=wLqvcAD+jhTQAedD4mtQDXac/tFl4ABL6jyBBRdTWhU=; b=CvqKBr3IYH/HjnTLZcUULONenLnmsmV65kKmI3CZVg/5cJFF+xKaOBS0IAiVZgbXXE cRaQFsLyKG6YRHpNrKF8pGbFgeDUcfDy7riouzC98ToRd8c7AgRz4WhFazI0vukjStyF ICS09Y9J44pJqjcTHAKbUws0MYNE5/D/kraP8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=wLqvcAD+jhTQAedD4mtQDXac/tFl4ABL6jyBBRdTWhU=; b=JYlZdqanq9s5NgHRNOiujld6r500CMjnWRy9RAt4A7nyvlZIyb8i2Nkh02cwBaUqmK VG3rbUAZHMZ4pYwFl4KAhnHNlG2TR6RzlbvaqVpFVn+/nOEedusQyi5l4zxIqw4ejfLq UiFXPg5Kiob91q8sisi2UzNSKZH0rXmxLu9HLp0Tav4uOR2gcAhEHPfpXqm+hyUxyjLj XQ59NTxFHQeYVhtMN+2YDDZds1JjlvtyJo1P3f+JCC5H08MsCqWlc51K5cU/K1pJPOd5 /Yq3FgFThgiAtJRZxeFtWUNNoWEeS20rL8WtYMailwT2T+YBxWPjsypgA/p5NuVcctMm UrXA== X-Gm-Message-State: ABuFfojxNRi5GhtdRwn0aqrUA8BZAJnMHqAxsU3laeeFKtwVXN9dYJvv xqi83pJIgUm/Nn98oSxmDDWkpA== X-Google-Smtp-Source: ACcGV61HQ+sFSZXXewU9IBFwpUmEidMZKQorKX4AYe6iXV8uurTON9ocr6JBcnChdJpEaX0aRE2MCA== X-Received: by 2002:a5d:4208:: with SMTP id n8-v6mr15185941wrq.260.1538994518405; Mon, 08 Oct 2018 03:28:38 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.28.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:28:37 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Selvin Xavier Subject: [PATCH rdma-next 03/13] RDMA/bnxt_re: Remove the unnecessary version macro definition Date: Mon, 8 Oct 2018 03:27:54 -0700 Message-Id: <1538994484-21390-4-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Version macro is not required as the driver is not maintaining the version. Removing the references of this macro too. Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 1 - drivers/infiniband/hw/bnxt_re/main.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/bnxt_re/bnxt_re.h b/drivers/infiniband/hw/bnxt_re/bnxt_re.h index 96f7689..f34ef05 100644 --- a/drivers/infiniband/hw/bnxt_re/bnxt_re.h +++ b/drivers/infiniband/hw/bnxt_re/bnxt_re.h @@ -40,7 +40,6 @@ #ifndef __BNXT_RE_H__ #define __BNXT_RE_H__ #define ROCE_DRV_MODULE_NAME "bnxt_re" -#define ROCE_DRV_MODULE_VERSION "1.0.0" #define BNXT_RE_DESC "Broadcom NetXtreme-C/E RoCE Driver" #define BNXT_RE_PAGE_SHIFT_4K (12) diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c index 6318639..7f27325 100644 --- a/drivers/infiniband/hw/bnxt_re/main.c +++ b/drivers/infiniband/hw/bnxt_re/main.c @@ -67,7 +67,7 @@ #include "hw_counters.h" static char version[] = - BNXT_RE_DESC " v" ROCE_DRV_MODULE_VERSION "\n"; + BNXT_RE_DESC "\n"; MODULE_AUTHOR("Eddie Wai "); MODULE_DESCRIPTION(BNXT_RE_DESC " Driver"); From patchwork Mon Oct 8 10:27:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630353 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id CDFA0112B for ; Mon, 8 Oct 2018 10:28:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3214F288B5 for ; Mon, 8 Oct 2018 10:28:45 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 26A46288CA; Mon, 8 Oct 2018 10:28:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C72AE288B5 for ; Mon, 8 Oct 2018 10:28:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726689AbeJHRjp (ORCPT ); Mon, 8 Oct 2018 13:39:45 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:41220 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRjo (ORCPT ); Mon, 8 Oct 2018 13:39:44 -0400 Received: by mail-wr1-f67.google.com with SMTP id x12-v6so20200261wru.8 for ; Mon, 08 Oct 2018 03:28:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=dKocEgNkwpOJDRbXEmZyEErHu3Ks0EpHqUITZRPeASg=; b=FDZi9YhbtMpGO6pwDi/BxUArf3tou5b96iEBvlh9hCc5tlG8Ds5FDdqLcD3O+FKhp2 Wqwxp8dRwOfuQcCdPE8R9yd49+rsVe9qxc7Z7mepejxsfylAwswH01CvqMsRkdHScZ/a pdkWvxfPqyAY51tzRKT/tZWx7PpqvrP10t510= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=dKocEgNkwpOJDRbXEmZyEErHu3Ks0EpHqUITZRPeASg=; b=HuWWsxFgqqUFWm2jC5kKlUxMP+Qw/4+qRlPzsd5Cp004VkyteZGcXq0thl+wfcj6Ur ftbo//Oi5E+5BdNU/xggYOqwHICaqqD2jiSYOVAA26FaHSibwd7chdySWZMJeK56RfOp sv7vQ1rWifGieOYMq14Ajz4OSHAaBjAVgWZjZJqxAyGJEWDwSdjaCcCRFDD1Lw5qZ5Ov G2mG3sRvwksTeruqOeRwbY+7LmNvTJ3oUc2o/EUu5Q2fv3RceJDGl+I5K61CEWMAaNte pxoxHjpDZDAsGiCoXxyMfBCakJ/pQ9WzDZdaRN3ZoQLkdiQw0nrJWNnfpNklhewyVF8x yf2w== X-Gm-Message-State: ABuFfohc49/J8SG3GpyX1U0rW8uvk2GSXI63Owp19i0FuQWoL/YmUtGr bwKeitZirpx1qgjqsHFZalPo4w== X-Google-Smtp-Source: ACcGV63TyxWzaJs72WR7dZogmS8hhBW804YJnVSIJT9Ar3Dca/VqZXro48dqWAYvg6ffCcEsTkuoNA== X-Received: by 2002:adf:8382:: with SMTP id 2-v6mr15611828wre.13.1538994522102; Mon, 08 Oct 2018 03:28:42 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.28.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:28:41 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Selvin Xavier , dan.carpenter@oracle.com Subject: [PATCH rdma-next 04/13] RDMA/bnxt_re: Avoid null check after accessing the pointer Date: Mon, 8 Oct 2018 03:27:55 -0700 Message-Id: <1538994484-21390-5-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This is reported by smatch check. rcfw->creq_bar_reg_iomem is accessed in bnxt_qplib_rcfw_stop_irq and this variable check afterwards doesn't make sense. Also, rcfw->creq_bar_reg_iomem will never be NULL. So Removing this check. Reported-by: Dan Carpenter Fixes: 6e04b1035689 ("RDMA/bnxt_re: Fix broken RoCE driver due to recent L2 driver changes") Signed-off-by: Selvin Xavier Cc: dan.carpenter@oracle.com --- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c b/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c index 0c6a3ac..5d1504e 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c +++ b/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c @@ -615,13 +615,8 @@ void bnxt_qplib_disable_rcfw_channel(struct bnxt_qplib_rcfw *rcfw) bnxt_qplib_rcfw_stop_irq(rcfw, true); - if (rcfw->cmdq_bar_reg_iomem) - iounmap(rcfw->cmdq_bar_reg_iomem); - rcfw->cmdq_bar_reg_iomem = NULL; - - if (rcfw->creq_bar_reg_iomem) - iounmap(rcfw->creq_bar_reg_iomem); - rcfw->creq_bar_reg_iomem = NULL; + iounmap(rcfw->cmdq_bar_reg_iomem); + iounmap(rcfw->creq_bar_reg_iomem); indx = find_first_bit(rcfw->cmdq_bitmap, rcfw->bmap_size); if (indx != rcfw->bmap_size) @@ -630,6 +625,8 @@ void bnxt_qplib_disable_rcfw_channel(struct bnxt_qplib_rcfw *rcfw) kfree(rcfw->cmdq_bitmap); rcfw->bmap_size = 0; + rcfw->cmdq_bar_reg_iomem = NULL; + rcfw->creq_bar_reg_iomem = NULL; rcfw->aeq_handler = NULL; rcfw->vector = 0; } @@ -713,6 +710,8 @@ int bnxt_qplib_enable_rcfw_channel(struct pci_dev *pdev, if (!rcfw->creq_bar_reg_iomem) { dev_err(&rcfw->pdev->dev, "CREQ BAR region %d mapping failed\n", rcfw->creq_bar_reg); + iounmap(rcfw->cmdq_bar_reg_iomem); + rcfw->cmdq_bar_reg_iomem = NULL; return -ENOMEM; } rcfw->creq_qp_event_processed = 0; From patchwork Mon Oct 8 10:27:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630355 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7C1F91867 for ; Mon, 8 Oct 2018 10:28:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id BEF3A288C5 for ; Mon, 8 Oct 2018 10:28:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B3595288CD; Mon, 8 Oct 2018 10:28:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 67ACC288C5 for ; Mon, 8 Oct 2018 10:28:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726712AbeJHRjs (ORCPT ); Mon, 8 Oct 2018 13:39:48 -0400 Received: from mail-wm1-f66.google.com ([209.85.128.66]:55141 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRjs (ORCPT ); Mon, 8 Oct 2018 13:39:48 -0400 Received: by mail-wm1-f66.google.com with SMTP id r63-v6so7603419wma.4 for ; Mon, 08 Oct 2018 03:28:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=M0jp7IVF46Mhs6p/zEBdJ1jJCvLhlO3m21lfT2qHEuE=; b=N7zR1P6uPMVe7P5sQvuBxR6Ne25J+VT3hORwpVtL3Up9zAtDLYOgOfaeQHlQL8ybR6 M85Q+rEBYMBvRBLk9ciMmyRuhqyYJ5hvJutpLWxgyYmRB7dIdVEdYNQ3ofRJrxm6uQyK WpznU4Q/52ZOLLEqgHEW+7/jrKvif92ZdIgBg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=M0jp7IVF46Mhs6p/zEBdJ1jJCvLhlO3m21lfT2qHEuE=; b=mHhKcD5Nug3P7ep3hyYfhUW2YiJzQPd9CMMYKLc0gj6weQIvXBweqadh+J3ZVcZFnB hPpV1qa8dQ5OxJClzo+9LnQhkR9zgonOC+EPaRou7KkRAbOykcsZmnHnnVI5hTLCPhyd ZtUPEYNTzHeLnJx+hFFVmqNvhVE6Pn8va8WOY8DfU5CAeWXDgwWpV8RRPz7OkM221//8 nSylwk0Q6CasSE2SGDDKwCd6ew03ycZEDAfbDn7tf2LwBZayblCNPhtX/9SGxlVPqulh QwgjAewmXJKUYsNyTTlmdwxElqpcQmeLOOAt507X9UHq/jzuJ3wJWe0C0ozaObLmAgq/ hsig== X-Gm-Message-State: ABuFfojpuix+qwpiWxEtd7lDpHG99SkdsVL3I4CRs3SO0ANBSZBvFHLL OiLINbQ7zZ8EVTP9g4v8l9lHWtCWkLM= X-Google-Smtp-Source: ACcGV63LPGgaz8j4lXn103f6mcRhcVNP37Jz6Ik9A60x5HoR2OO9Y5SlUzPxypn8y6urvXNwubOyaw== X-Received: by 2002:a1c:7913:: with SMTP id l19-v6mr3522883wme.84.1538994525751; Mon, 08 Oct 2018 03:28:45 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.28.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:28:45 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Selvin Xavier , dan.carpenter@oracle.com Subject: [PATCH rdma-next 05/13] RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case Date: Mon, 8 Oct 2018 03:27:56 -0700 Message-Id: <1538994484-21390-6-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In the failure path, nq->bar_reg_iomem gets accessed without initializing. Avoid this by calling the bnxt_qplib_nq_stop_irq only if the initialization is complete. Reported-by: Dan Carpenter Fixes: 1ac5a4047975 ("RDMA/bnxt_re: Add bnxt_re RoCE driver") Fixes: 6e04b1035689 ("RDMA/bnxt_re: Fix broken RoCE driver due to recent L2 driver changes") Signed-off-by: Selvin Xavier Cc: dan.carpenter@oracle.com --- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/bnxt_re/qplib_fp.c b/drivers/infiniband/hw/bnxt_re/qplib_fp.c index e141689..b98b054 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_fp.c +++ b/drivers/infiniband/hw/bnxt_re/qplib_fp.c @@ -358,7 +358,8 @@ void bnxt_qplib_disable_nq(struct bnxt_qplib_nq *nq) } /* Make sure the HW is stopped! */ - bnxt_qplib_nq_stop_irq(nq, true); + if (nq->requested) + bnxt_qplib_nq_stop_irq(nq, true); if (nq->bar_reg_iomem) iounmap(nq->bar_reg_iomem); From patchwork Mon Oct 8 10:27:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630357 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5A276933 for ; Mon, 8 Oct 2018 10:28:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4AB4328986 for ; Mon, 8 Oct 2018 10:28:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3ED02289A6; Mon, 8 Oct 2018 10:28:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D8AD728986 for ; Mon, 8 Oct 2018 10:28:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726728AbeJHRjw (ORCPT ); Mon, 8 Oct 2018 13:39:52 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:35258 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRjw (ORCPT ); Mon, 8 Oct 2018 13:39:52 -0400 Received: by mail-wr1-f67.google.com with SMTP id w5-v6so20226492wrt.2 for ; Mon, 08 Oct 2018 03:28:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=37r3qTSb93pY988WTW22UWrp1mCKSOr1BujLIcx1lyE=; b=IQXgtLQrWY2xDwsZcMuUwMh7XfWehD9/271jNEmlP6ym+gS3OD4EVMf+V2mkfLqpK6 hiROrFRcWzBcj1NOdkIaYuuQhYmLTxR6NkivpnyuV/EMtV955ISUCSbmEeS2u2zDWAun c5m/5PZAsGMWKeYXTeco7h8VIxtaisjut2myM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=37r3qTSb93pY988WTW22UWrp1mCKSOr1BujLIcx1lyE=; b=dF/cOzyoTI+tNrvR0SKFKj6x6PS2rksMABMKp7Lzfycs8/iv8UTW/Azjpb1Xqm62XI Rp5hiaWJuia+KdiRgrEcizBeuajDZ9+bjerxaeUwYceo+iyzBuIGctK2aUEN6quGfndS ec9SqAwtKuV8sW/R0uYgPuCiwWcM5P38djCSNm6rl3kCAUwP+GtTFHLLamoW4tW4Ik2j OTQeOzcnIYjrt8ZoKVbBVbnrtsQqw9Jti2m86txMnTrgTKa5niZ/eEczm6edKS/+7mvY aVrfPdK5rT895ETDITTU28LEN9GR9UDWWCYWYmiAkg2OFt/ObrMkqR4pA134lku7Wvls WhFg== X-Gm-Message-State: ABuFfog9iIYAfSCoqkCwOWs8kjRJfW0p8rWSGcIjdctc5yoyMb7Q3tQ1 fw6JCEqvcsdNMxBEsiyLdo91XQ== X-Google-Smtp-Source: ACcGV62F1cmFl7v8OBxkwUO8u20CYzsN6rd2DyGYFSz6j5mElwXLv7lnH4SBXtLUCnaEpkKrn3xCdw== X-Received: by 2002:adf:9069:: with SMTP id h96-v6mr15466337wrh.65.1538994529508; Mon, 08 Oct 2018 03:28:49 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.28.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:28:48 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Devesh Sharma , Selvin Xavier Subject: [PATCH rdma-next 06/13] RDMA/bnxt_re: Drop L2 async events silently Date: Mon, 8 Oct 2018 03:27:57 -0700 Message-Id: <1538994484-21390-7-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Devesh Sharma In some FW versions, RoCE driver also receives an async notification which was directed to L2 driver. RoCE driver does not handle this and print a message to syslog. Drop these notifications silently. Signed-off-by: Devesh Sharma Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c b/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c index 5d1504e..a3d9447 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c +++ b/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c @@ -391,9 +391,10 @@ static void bnxt_qplib_service_creq(unsigned long data) "aeqe:%#x Not handled\n", type); break; default: - dev_warn(&rcfw->pdev->dev, - "creqe with op_event = 0x%x not handled\n", - type); + if (type != ASYNC_EVENT_CMPL_TYPE_HWRM_ASYNC_EVENT) + dev_warn(&rcfw->pdev->dev, + "creqe with event 0x%x not handled\n", + type); break; } raw_cons++; From patchwork Mon Oct 8 10:27:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630359 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 04BC3933 for ; Mon, 8 Oct 2018 10:28:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E92BE28995 for ; Mon, 8 Oct 2018 10:28:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DD808289AB; Mon, 8 Oct 2018 10:28:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DBDBF28995 for ; Mon, 8 Oct 2018 10:28:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726771AbeJHRj4 (ORCPT ); Mon, 8 Oct 2018 13:39:56 -0400 Received: from mail-wr1-f52.google.com ([209.85.221.52]:34188 "EHLO mail-wr1-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRj4 (ORCPT ); Mon, 8 Oct 2018 13:39:56 -0400 Received: by mail-wr1-f52.google.com with SMTP id z4-v6so20210691wrb.1 for ; Mon, 08 Oct 2018 03:28:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=iwkQ2n9Ep7rGcqJdcGiL9kVEdltfmDyrNzVxP7UgPoU=; b=KEmnu8rzj2QNTM0v12/tmSZX7VQzVT7zYjm8/7cCbGgYPx0bR3f7Oe5N+7ImWfUeG3 Z4x8Imrx0RqDDXF8FnbFtUKn0+mLuuEhwfbSMtM8KOIsi2EpimmSmCwLFw3BFLUZHpHU XVEojYRsjNcG6UYlKjbMjKPozVJQB3URTdqcc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=iwkQ2n9Ep7rGcqJdcGiL9kVEdltfmDyrNzVxP7UgPoU=; b=SJeYnJ5+XXXk9Yzmo3BIZl7R+1HWdndA9+SrsqNF4ZM7/rArCXSpOogM5bWvrGxRfX hPkxFcTejXjjrXtgXe4tBNV1pW62e/WCv9B644+PGhs+Z9Jly0Do4KZowdRaDtsSjD+N 2sQ39pWRkYJngUm0wyM1S7cQlsBrbnsFCB3h3m1GT2vDbXJDYjc+aJiREk2uNQ+y3a5n 81ySpJ8gKrOjhIEn/R7l3xOf/gOjmANdtnBYkzFWYVXxkl0DJdWie+IgsmUzi1CQIfIZ FNU0wdmtUnefrLRV8tNJyi//A6//HHO4KwSO8vbaxqDjsekTHRtinr/3KhhL9y8KSW1b xksA== X-Gm-Message-State: ABuFfoi+krJ3cEHubsaS5RLTHrLp59+TSC1s639qvGCSfdPycK3JoXSH TErT8FZmdoNZuyRIu9Cya7+gMoWm/DI= X-Google-Smtp-Source: ACcGV60vUNCvUUh7j4yrwG4tx1YdJgvSEo2Znmnsv9yp1Skd3v+ofqx4810rcgHkWVABuxUa20Q/fw== X-Received: by 2002:a5d:5342:: with SMTP id t2-v6mr15617446wrv.257.1538994533285; Mon, 08 Oct 2018 03:28:53 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.28.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:28:52 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Somnath Kotur , Selvin Xavier Subject: [PATCH rdma-next 07/13] RDMA/bnxt_re: Prevent driver crash due to NULL pointer in error message print Date: Mon, 8 Oct 2018 03:27:58 -0700 Message-Id: <1538994484-21390-8-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Somnath Kotur crsqe->resp would be NULL in case the host command timed out before getting a response from HW. Check for NULL pointer to avoid a potential crash while printing the error message. Signed-off-by: Somnath Kotur Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c b/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c index a3d9447..be4e33e 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c +++ b/drivers/infiniband/hw/bnxt_re/qplib_rcfw.c @@ -333,10 +333,12 @@ static int bnxt_qplib_process_qp_event(struct bnxt_qplib_rcfw *rcfw, memcpy(crsqe->resp, qp_event, sizeof(*qp_event)); crsqe->resp = NULL; } else { - dev_err(&rcfw->pdev->dev, - "CMD %s resp->cookie = %#x, evnt->cookie = %#x\n", - crsqe->resp ? "mismatch" : "collision", - crsqe->resp ? crsqe->resp->cookie : 0, mcookie); + if (crsqe->resp && crsqe->resp->cookie) + dev_err(&rcfw->pdev->dev, + "CMD %s cookie sent=%#x, recd=%#x\n", + crsqe->resp ? "mismatch" : "collision", + crsqe->resp ? crsqe->resp->cookie : 0, + mcookie); } if (!test_and_clear_bit(cbit, rcfw->cmdq_bitmap)) dev_warn(&rcfw->pdev->dev, From patchwork Mon Oct 8 10:27:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630361 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C0ADE112B for ; Mon, 8 Oct 2018 10:28:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B005028986 for ; Mon, 8 Oct 2018 10:28:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A45FC289A6; Mon, 8 Oct 2018 10:28:59 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 544E928986 for ; Mon, 8 Oct 2018 10:28:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726810AbeJHRj7 (ORCPT ); Mon, 8 Oct 2018 13:39:59 -0400 Received: from mail-wr1-f68.google.com ([209.85.221.68]:39091 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRj7 (ORCPT ); Mon, 8 Oct 2018 13:39:59 -0400 Received: by mail-wr1-f68.google.com with SMTP id 61-v6so19461791wrb.6 for ; Mon, 08 Oct 2018 03:28:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=oAT0xpM48Dovva9vSFDOT8MCxalV4COG6x6ZKE0MxRg=; b=GI/bgB5R8Ktpr+3grrCT8h+e3R6572QyELDoGWcsIUb0zGwI1FYe+IAoKJdx3J9QQ6 27uzI48EX5rL4EO8gxzZYsWIizvYPOO6JB3Iylj+ZoLDDrWRSMaioJCE8WeXsfEsePNc 0WYxdSJ5tVOnSFvAg7Jh+xuPXBvyprZVriLgw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=oAT0xpM48Dovva9vSFDOT8MCxalV4COG6x6ZKE0MxRg=; b=EjXrSqdrvtwtKOlGH0PTQODqYT7J35IgJ/hMB9ti2fcqSXBOOLkCVK+CLNh833xbV8 Pq5H6GHoZLQqOeIBkAIcy1yzlSYqRdZlgmFL1mNfMc+vTJPwV5e4oIr9dZ0AL9xF+6NG CXETHTSM/r3CEPK77g9XxXVdMk12NDb5TKH1e4Vz8LRJXyj3rYpzX5qDpNkNwThgUTHl xRoxJZ561mrJqyDiVx29Eh9QK+WscU1NP060iRlyM1i14PInWcBItkHMRIDm4ywQ+U7B wnm2XH6dJPr4hp2OvHNX4uwXWlmIB16ZkXBwaHy6iA40GD9nlhUfNj3YOUuQ0VPbwkcJ aK6w== X-Gm-Message-State: ABuFfoj32JYtvAL1MV58cTOPataRNiUlmQ5x+LEKbCRMSDqpC14wNRwO Xn6lKg1pPL81EaZwvhSY9iv6+qV9iVI= X-Google-Smtp-Source: ACcGV63SP5QEnOGN49xg4vvKpoDTxEVYpCe0Q5/v/KhgM6Du1pcb+bZf7o2aQwLMzo91HJGyzaCcxg== X-Received: by 2002:a5d:488a:: with SMTP id g10-v6mr16197885wrq.0.1538994536638; Mon, 08 Oct 2018 03:28:56 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.28.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:28:56 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Selvin Xavier Subject: [PATCH rdma-next 08/13] RDMA/bnxt_re: Expose rx discards and drop counters Date: Mon, 8 Oct 2018 03:27:59 -0700 Message-Id: <1538994484-21390-9-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Expose the RoCE discard and drop counters from the HW statistics context Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/hw_counters.c | 6 ++++++ drivers/infiniband/hw/bnxt_re/hw_counters.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/drivers/infiniband/hw/bnxt_re/hw_counters.c b/drivers/infiniband/hw/bnxt_re/hw_counters.c index 77416bc..e63adf2 100644 --- a/drivers/infiniband/hw/bnxt_re/hw_counters.c +++ b/drivers/infiniband/hw/bnxt_re/hw_counters.c @@ -68,6 +68,8 @@ static const char * const bnxt_re_stat_name[] = { [BNXT_RE_TX_PKTS] = "tx_pkts", [BNXT_RE_TX_BYTES] = "tx_bytes", [BNXT_RE_RECOVERABLE_ERRORS] = "recoverable_errors", + [BNXT_RE_RX_DROPS] = "rx_roce_drops", + [BNXT_RE_RX_DISCARDS] = "rx_roce_discards", [BNXT_RE_TO_RETRANSMITS] = "to_retransmits", [BNXT_RE_SEQ_ERR_NAKS_RCVD] = "seq_err_naks_rcvd", [BNXT_RE_MAX_RETRY_EXCEEDED] = "max_retry_exceeded", @@ -128,6 +130,10 @@ int bnxt_re_ib_get_hw_stats(struct ib_device *ibdev, if (bnxt_re_stats) { stats->value[BNXT_RE_RECOVERABLE_ERRORS] = le64_to_cpu(bnxt_re_stats->tx_bcast_pkts); + stats->value[BNXT_RE_RX_DROPS] = + le64_to_cpu(bnxt_re_stats->rx_drop_pkts); + stats->value[BNXT_RE_RX_DISCARDS] = + le64_to_cpu(bnxt_re_stats->rx_discard_pkts); stats->value[BNXT_RE_RX_PKTS] = le64_to_cpu(bnxt_re_stats->rx_ucast_pkts); stats->value[BNXT_RE_RX_BYTES] = diff --git a/drivers/infiniband/hw/bnxt_re/hw_counters.h b/drivers/infiniband/hw/bnxt_re/hw_counters.h index a01a922..2c8a409 100644 --- a/drivers/infiniband/hw/bnxt_re/hw_counters.h +++ b/drivers/infiniband/hw/bnxt_re/hw_counters.h @@ -51,6 +51,8 @@ enum bnxt_re_hw_stats { BNXT_RE_TX_PKTS, BNXT_RE_TX_BYTES, BNXT_RE_RECOVERABLE_ERRORS, + BNXT_RE_RX_DROPS, + BNXT_RE_RX_DISCARDS, BNXT_RE_TO_RETRANSMITS, BNXT_RE_SEQ_ERR_NAKS_RCVD, BNXT_RE_MAX_RETRY_EXCEEDED, From patchwork Mon Oct 8 10:28:00 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630363 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 12FCF112B for ; Mon, 8 Oct 2018 10:29:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 03EA428986 for ; Mon, 8 Oct 2018 10:29:04 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EC684289A6; Mon, 8 Oct 2018 10:29:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 79A4528986 for ; Mon, 8 Oct 2018 10:29:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726828AbeJHRkD (ORCPT ); Mon, 8 Oct 2018 13:40:03 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:51896 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRkD (ORCPT ); Mon, 8 Oct 2018 13:40:03 -0400 Received: by mail-wm1-f68.google.com with SMTP id 143-v6so7575239wmf.1 for ; Mon, 08 Oct 2018 03:29:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=eeHtH2obLR8/ZcAgAHj7fADQL3EmLu0Gt00tmS2BH5U=; b=HljrhYYrF13PdWi46nlMEh8jeIsnrQPanAhGdlVMXUBNThqFu92kD/zQST4Bw0tJye 0az2iw/eezv8KtGx6VGaZH+OK7PkUK02vpAN+wYaYtvAmn+WeeT7ksI+rhN+j810rADy MBOWCp5q7D1KoIFF/Eg7tI9dSM4rcW95oUl2c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=eeHtH2obLR8/ZcAgAHj7fADQL3EmLu0Gt00tmS2BH5U=; b=A+XO5BCEpRuETnDBuW6EE8czeeQsvLjkiQgS+V0iBd5uPuxLsoqRDuoq3eb37c8KF+ jORb7J1TRxuwPzVzMyqdNARd+0GXD3CqP999nMt09I/PiIeDhOM4T8hAJUo2BbYtqjTB zg1O9wVzFMT3vtJB2mwZAI6g6vsA3HNjLL5vpqtBuWBLOhETamZ94rCYDy4ckB9AhYwq jUKqHbZT3fI1pYevS1rQVMU25IkGd2+WKdfLProtZArE5CcF+U28r4cdgmgAhR3157XR 1mG7mgPCnXo2Nk6n/I7QreSpqpD6RfEXOQZ00Yj2JARMQJoUgLNHlhLdVXp/TObfn9OL FqGQ== X-Gm-Message-State: ABuFfoiTR35HoUUbtUO6qbSLNx9tBWvJ8eg3RE6+4JsYJJSqGUB5MRlP /1Y/qN/2dIyK2q4h5fp4+WdQhu21mok= X-Google-Smtp-Source: ACcGV60J88GFzprNAXsTqdZKxenuHnMgn0YufmTdTh7wDbS4kiJc+xDqRWCfr2PrzQyl3QlSYwKE7g== X-Received: by 2002:a1c:603:: with SMTP id 3-v6mr14505642wmg.64.1538994539903; Mon, 08 Oct 2018 03:28:59 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.28.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:28:59 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Selvin Xavier Subject: [PATCH rdma-next 09/13] RDMA/bnxt_re: Report out of sequence hw counters Date: Mon, 8 Oct 2018 03:28:00 -0700 Message-Id: <1538994484-21390-10-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Expose out of sequence errors received from FW. This counter is a 32 bit counter and driver has to accumulate the counter. Stores the previous value for calculating the difference in the next query. Also, update the HW statistics structure with new fields. Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/hw_counters.c | 5 ++++- drivers/infiniband/hw/bnxt_re/hw_counters.h | 1 + drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 4 ++++ drivers/infiniband/hw/bnxt_re/qplib_sp.c | 10 ++++++++++ drivers/infiniband/hw/bnxt_re/qplib_sp.h | 10 ++++++++++ drivers/infiniband/hw/bnxt_re/roce_hsi.h | 5 +++++ 6 files changed, 34 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/bnxt_re/hw_counters.c b/drivers/infiniband/hw/bnxt_re/hw_counters.c index e63adf2..604b718 100644 --- a/drivers/infiniband/hw/bnxt_re/hw_counters.c +++ b/drivers/infiniband/hw/bnxt_re/hw_counters.c @@ -108,7 +108,8 @@ static const char * const bnxt_re_stat_name[] = { [BNXT_RE_RES_CQ_LOAD_ERR] = "res_cq_load_err", [BNXT_RE_RES_SRQ_LOAD_ERR] = "res_srq_load_err", [BNXT_RE_RES_TX_PCI_ERR] = "res_tx_pci_err", - [BNXT_RE_RES_RX_PCI_ERR] = "res_rx_pci_err" + [BNXT_RE_RES_RX_PCI_ERR] = "res_rx_pci_err", + [BNXT_RE_OUT_OF_SEQ_ERR] = "oos_drop_count" }; int bnxt_re_ib_get_hw_stats(struct ib_device *ibdev, @@ -226,6 +227,8 @@ int bnxt_re_ib_get_hw_stats(struct ib_device *ibdev, rdev->stats.res_tx_pci_err; stats->value[BNXT_RE_RES_RX_PCI_ERR] = rdev->stats.res_rx_pci_err; + stats->value[BNXT_RE_OUT_OF_SEQ_ERR] = + rdev->stats.res_oos_drop_count; } return ARRAY_SIZE(bnxt_re_stat_name); diff --git a/drivers/infiniband/hw/bnxt_re/hw_counters.h b/drivers/infiniband/hw/bnxt_re/hw_counters.h index 2c8a409..76399f4 100644 --- a/drivers/infiniband/hw/bnxt_re/hw_counters.h +++ b/drivers/infiniband/hw/bnxt_re/hw_counters.h @@ -92,6 +92,7 @@ enum bnxt_re_hw_stats { BNXT_RE_RES_SRQ_LOAD_ERR, BNXT_RE_RES_TX_PCI_ERR, BNXT_RE_RES_RX_PCI_ERR, + BNXT_RE_OUT_OF_SEQ_ERR, BNXT_RE_NUM_COUNTERS }; diff --git a/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h b/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h index 46416df..9a8687dc 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h +++ b/drivers/infiniband/hw/bnxt_re/qplib_rcfw.h @@ -154,6 +154,8 @@ struct bnxt_qplib_qp_node { void *qp_handle; /* ptr to qplib_qp */ }; +#define BNXT_QPLIB_OOS_COUNT_MASK 0xFFFFFFFF + /* RCFW Communication Channels */ struct bnxt_qplib_rcfw { struct pci_dev *pdev; @@ -190,6 +192,8 @@ struct bnxt_qplib_rcfw { struct bnxt_qplib_crsq *crsqe_tbl; int qp_tbl_size; struct bnxt_qplib_qp_node *qp_tbl; + u64 oos_prev; + u32 init_oos_stats; }; void bnxt_qplib_free_rcfw_channel(struct bnxt_qplib_rcfw *rcfw); diff --git a/drivers/infiniband/hw/bnxt_re/qplib_sp.c b/drivers/infiniband/hw/bnxt_re/qplib_sp.c index c80f2ea..14e2b3c 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_sp.c +++ b/drivers/infiniband/hw/bnxt_re/qplib_sp.c @@ -840,6 +840,16 @@ int bnxt_qplib_get_roce_stats(struct bnxt_qplib_rcfw *rcfw, stats->res_srq_load_err = le64_to_cpu(sb->res_srq_load_err); stats->res_tx_pci_err = le64_to_cpu(sb->res_tx_pci_err); stats->res_rx_pci_err = le64_to_cpu(sb->res_rx_pci_err); + if (!rcfw->init_oos_stats) { + rcfw->oos_prev = le64_to_cpu(sb->res_oos_drop_count); + rcfw->init_oos_stats = 1; + } else { + stats->res_oos_drop_count += + (le64_to_cpu(sb->res_oos_drop_count) - + rcfw->oos_prev) & BNXT_QPLIB_OOS_COUNT_MASK; + rcfw->oos_prev = le64_to_cpu(sb->res_oos_drop_count); + } + bail: bnxt_qplib_rcfw_free_sbuf(rcfw, sbuf); return rc; diff --git a/drivers/infiniband/hw/bnxt_re/qplib_sp.h b/drivers/infiniband/hw/bnxt_re/qplib_sp.h index 9d3e8b9..8079d7f 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_sp.h +++ b/drivers/infiniband/hw/bnxt_re/qplib_sp.h @@ -205,6 +205,16 @@ struct bnxt_qplib_roce_stats { /* res_tx_pci_err is 64 b */ u64 res_rx_pci_err; /* res_rx_pci_err is 64 b */ + u64 res_oos_drop_count; + /* res_oos_drop_count */ + u64 active_qp_count_p0; + /* port 0 active qps */ + u64 active_qp_count_p1; + /* port 1 active qps */ + u64 active_qp_count_p2; + /* port 2 active qps */ + u64 active_qp_count_p3; + /* port 3 active qps */ }; int bnxt_qplib_get_sgid(struct bnxt_qplib_res *res, diff --git a/drivers/infiniband/hw/bnxt_re/roce_hsi.h b/drivers/infiniband/hw/bnxt_re/roce_hsi.h index 3e5a4f7..8a9ead4 100644 --- a/drivers/infiniband/hw/bnxt_re/roce_hsi.h +++ b/drivers/infiniband/hw/bnxt_re/roce_hsi.h @@ -2929,6 +2929,11 @@ struct creq_query_roce_stats_resp_sb { __le64 res_srq_load_err; __le64 res_tx_pci_err; __le64 res_rx_pci_err; + __le64 res_oos_drop_count; + __le64 active_qp_count_p0; + __le64 active_qp_count_p1; + __le64 active_qp_count_p2; + __le64 active_qp_count_p3; }; /* QP error notification event (16 bytes) */ From patchwork Mon Oct 8 10:28:01 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630365 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id BD6E8933 for ; Mon, 8 Oct 2018 10:29:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id ABE5728986 for ; Mon, 8 Oct 2018 10:29:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9B9D6289A6; Mon, 8 Oct 2018 10:29:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5105728986 for ; Mon, 8 Oct 2018 10:29:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726882AbeJHRkG (ORCPT ); Mon, 8 Oct 2018 13:40:06 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:42126 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRkG (ORCPT ); Mon, 8 Oct 2018 13:40:06 -0400 Received: by mail-wr1-f67.google.com with SMTP id g15-v6so17578155wru.9 for ; Mon, 08 Oct 2018 03:29:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=MbkPNLIF6c8KTfxm/rTCTPr2nf0rkcNUxTqNNrW5NDc=; b=aOkG7SexbH4fM6EUNc3pBkW0kDM4qKFKhj9cccu3LAdgELwziVt4Q4UOvUS5F93xHm 9qVWw18i9jPe83eneLz93K583FI8eVgiE1Mf4RP1tj9WMKoM5jCYc6lXPIbyhcmQoBgu B0nOMDKIoxX6bNDSA2k8A/b1J7VqmwgAUvJZ8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=MbkPNLIF6c8KTfxm/rTCTPr2nf0rkcNUxTqNNrW5NDc=; b=KrQfiJJuVs8AVK9Zni7wO83bpWdK5uY+HPVHuzxTKrZL+I7AGfMkk32AtEFHxT3TH4 AxBr0q07X6ibxSeYr/mMGvngD4vM0MbwyWwm+MHzPFw5762rzAmMjJT3ss+fcx8PCSqN orvk03apR3Zs7lcoc2OHvaqLaFcuiOlWmP9cJv6/kfNURl/oFbnSaNaw48gISj9ItrFW XnIIKem1bJH7j4YS6ZSbfm5TnhYcP29xRit9oAZhod7LYcUHjCeP37FigfB5AVzoioV1 WobHr9gXYPZJ5P5+maL+PfaihunmKjPKWfNZwKddrhl4Zx1gURNuRreY21uBQYhIZB8V zNDg== X-Gm-Message-State: ABuFfogIvgRviNPHlA7lpmgZyOixKF7OjHGm89OQTt0UmHHB5OAn5qQz 6r3pJnf/LyBH9CXT1GTgQwvt0w== X-Google-Smtp-Source: ACcGV63pcsJcViYtowEFXRb0pvPJZ/m7z6GlxgSaJWs3kwu2IdEWrs/GJj/0DVS+e/bKtWwg9T17hA== X-Received: by 2002:a5d:5601:: with SMTP id l1-v6mr16554480wrv.209.1538994543621; Mon, 08 Oct 2018 03:29:03 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.29.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:29:03 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Devesh Sharma , Selvin Xavier Subject: [PATCH rdma-next 10/13] RDMA/bnxt_re: Fix qp async event reporting Date: Mon, 8 Oct 2018 03:28:01 -0700 Message-Id: <1538994484-21390-11-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Devesh Sharma Reports affiliated async event on the qp-async event channel instead of global event channel. Signed-off-by: Devesh Sharma Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/main.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c index 7f27325..2b1d00d 100644 --- a/drivers/infiniband/hw/bnxt_re/main.c +++ b/drivers/infiniband/hw/bnxt_re/main.c @@ -988,12 +988,17 @@ static void bnxt_re_dispatch_event(struct ib_device *ibdev, struct ib_qp *qp, struct ib_event ib_event; ib_event.device = ibdev; - if (qp) + if (qp) { ib_event.element.qp = qp; - else + ib_event.event = event; + if (qp->event_handler) + qp->event_handler(&ib_event, qp->qp_context); + + } else { ib_event.element.port_num = port_num; - ib_event.event = event; - ib_dispatch_event(&ib_event); + ib_event.event = event; + ib_dispatch_event(&ib_event); + } } #define HWRM_QUEUE_PRI2COS_QCFG_INPUT_FLAGS_IVLAN 0x02 From patchwork Mon Oct 8 10:28:02 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630367 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3A7E0112B for ; Mon, 8 Oct 2018 10:29:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 28C6928986 for ; Mon, 8 Oct 2018 10:29:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1CE6E289A6; Mon, 8 Oct 2018 10:29:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C503028986 for ; Mon, 8 Oct 2018 10:29:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726967AbeJHRkK (ORCPT ); Mon, 8 Oct 2018 13:40:10 -0400 Received: from mail-wr1-f68.google.com ([209.85.221.68]:38789 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRkK (ORCPT ); Mon, 8 Oct 2018 13:40:10 -0400 Received: by mail-wr1-f68.google.com with SMTP id a13-v6so20201091wrt.5 for ; Mon, 08 Oct 2018 03:29:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=uPHevLv/Y0uycIMBWEYvBWzgYLb4bth3nRZZEOTdZZE=; b=ZzCn9i25IE975W+USQ3o07s/XsQ9JRiAWo8fJyP+vzG+eEt8ogoKULlARUf1BkHJyZ bUCXGeCQDaEZaYrfGX5KnRaNhFx8wv8xYWzcUbzt3YATDW+Y4oSaulFC8eigZUHoS311 rSWmGKR0l4Z8I0dRRHpQzz9Uh4vFVgi2aV25A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=uPHevLv/Y0uycIMBWEYvBWzgYLb4bth3nRZZEOTdZZE=; b=F/HIZ5DMC2KV7yMNfBVW5s6+Z5QX93V4g6pNRBQ7yM5lDIXXWeaKtBNHnf7MswjKcg Z2w6FezB9y7KVWDxxJpgHvKjqI5rXRfEbd5xeovcLXJOHy/1qxgBM8Keq6M3HoDMyKfK bh8Pnt/AXHDaueXDTk3pZhXN6FheMIKAsVq5Rg/pGRN735mcj9mRDEN+Lws9wN1pACy/ okb6nB3eNQdh6BI4Bn58aLWF5W0xUp5GWfMTr6E8Hwy6Nl0Kn0cBAVaJfcRr+cSUBdUZ TbGeybiNplQTpJPevUeRlzz1P4PXMoq7unOUAhlxcrU9hVuA270dtqbuk5Qk6+DmcNxU Gh/g== X-Gm-Message-State: ABuFfohnhETvkXvradXjOdr4mSugiDxe13iikx+GKTYZPbNxM2p/NPZ5 UGYZe8MuIf/IwUI1CWJAqYGmAQ== X-Google-Smtp-Source: ACcGV62IEmTGuUpyqNX7s43TlVdTlhIYmYip3oT6LEyOjEljUcakytEw38tWfQ/k+dNjvYzv7GipCw== X-Received: by 2002:adf:f301:: with SMTP id i1-v6mr15642689wro.161.1538994547315; Mon, 08 Oct 2018 03:29:07 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.29.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:29:06 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Devesh Sharma , Selvin Xavier Subject: [PATCH rdma-next 11/13] RDMA/bnxt_re: Limit max_pkey to 16 bit value Date: Mon, 8 Oct 2018 03:28:02 -0700 Message-Id: <1538994484-21390-12-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Devesh Sharma Some FW versios return pkey values more than 0xFFFF. pkey_tbl_len of ib_port_attr is 16bit value. So restricting max_pkeys to 0xFFFF. Signed-off-by: Devesh Sharma Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/bnxt_re/qplib_sp.c b/drivers/infiniband/hw/bnxt_re/qplib_sp.c index 14e2b3c..5216b5f 100644 --- a/drivers/infiniband/hw/bnxt_re/qplib_sp.c +++ b/drivers/infiniband/hw/bnxt_re/qplib_sp.c @@ -137,8 +137,16 @@ int bnxt_qplib_get_dev_attr(struct bnxt_qplib_rcfw *rcfw, attr->max_srq = le16_to_cpu(sb->max_srq); attr->max_srq_wqes = le32_to_cpu(sb->max_srq_wr) - 1; attr->max_srq_sges = sb->max_srq_sge; - /* Bono only reports 1 PKEY for now, but it can support > 1 */ attr->max_pkey = le32_to_cpu(sb->max_pkeys); + /* + * Some versions of FW reports more than 0xFFFF. + * Restrict it for now to 0xFFFF to avoid + * reporting trucated value + */ + if (attr->max_pkey > 0xFFFF) { + /* ib_port_attr::pkey_tbl_len is u16 */ + attr->max_pkey = 0xFFFF; + } attr->max_inline_data = le32_to_cpu(sb->max_inline_data); attr->l2_db_size = (sb->l2_db_space_size + 1) * From patchwork Mon Oct 8 10:28:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630369 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6B54F112B for ; Mon, 8 Oct 2018 10:29:14 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5B12528986 for ; Mon, 8 Oct 2018 10:29:14 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4F3A5289A6; Mon, 8 Oct 2018 10:29:14 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0656028986 for ; Mon, 8 Oct 2018 10:29:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726995AbeJHRkO (ORCPT ); Mon, 8 Oct 2018 13:40:14 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:38797 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRkO (ORCPT ); Mon, 8 Oct 2018 13:40:14 -0400 Received: by mail-wr1-f66.google.com with SMTP id a13-v6so20201355wrt.5 for ; Mon, 08 Oct 2018 03:29:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Dl7WFmwG9M4v+e+KQ+QgNKbu+AcRFf7HegZVkzhnHXY=; b=B943UpD3VNySesHQnN/gLb3nlxxtOt3KJ/skfkIyewvW5EHj3pP/pFnuK5HjnCa34B taJ306mecmmUGIgNOUVQq9x1OZgtIrVydR4NiZCTR0Hq3EKQt/qypskOB1KEa9tRs8oE 9NNXALbbEY76XLEpbiWqrb3HS1qBt34TACWbo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Dl7WFmwG9M4v+e+KQ+QgNKbu+AcRFf7HegZVkzhnHXY=; b=qS5/HNSRM6/3osMuQ67ndeabWNmYSUtsKzdOsItjKCsL2wQ960Xmn4PS8mh3Gu1+NY kRXzVRAXoGJRnzZrk2N4Chm3xuOrQ63JGVo28z3RJUJdnj4CLzj5/IV9gznIFtFkpEg8 Wyuq9pd7T1dJn68oiMt3mVocrSqkQAqglVukdFuRq8MMYgX/2Bb9MtdSe6Om7Ty5h6iZ mFEstjjuRylhd5RT94rDd6+bZ5jOdV+02r4aLpOhwV6rTEhMofWQVrcpk5pCBYnoRech zo3l5dlGbkIcL1icq88NToy5RkY8VMcNRCtUsQcLlunsJ74JTj0rpY+bInBMSE+3AIK6 TJlA== X-Gm-Message-State: ABuFfojCTx0dUvuK6U3KSRokOfwWZsxZHKbc2g63bo8feGb75cUCXeZL lAvsBCaMil02zK2zJg3yIhDu2g== X-Google-Smtp-Source: ACcGV60hf3g3iq64VYshIUwyOEkRtSvluQBh4PbjH71jfQ4XXIu6IazUlQuGbltww5KLo9QKtdfNCw== X-Received: by 2002:a05:6000:c3:: with SMTP id q3mr15278551wrx.302.1538994551245; Mon, 08 Oct 2018 03:29:11 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.29.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:29:10 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Selvin Xavier Subject: [PATCH rdma-next 12/13] RDMA/bnxt_re: Wait for delayed work to finish before device removal Date: Mon, 8 Oct 2018 03:28:03 -0700 Message-Id: <1538994484-21390-13-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Delayed work bnxt_re_worker would be still running even after cancel_delayed_work returns. This causes crash as the driver proceeds with device removal. To make sure that the work is finished before returning, use cancel_delayed_work_sync. Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c index 2b1d00d..75a54c5 100644 --- a/drivers/infiniband/hw/bnxt_re/main.c +++ b/drivers/infiniband/hw/bnxt_re/main.c @@ -1203,7 +1203,7 @@ static void bnxt_re_ib_unreg(struct bnxt_re_dev *rdev) bnxt_re_unregister_ib(rdev); } if (test_and_clear_bit(BNXT_RE_FLAG_QOS_WORK_REG, &rdev->flags)) - cancel_delayed_work(&rdev->worker); + cancel_delayed_work_sync(&rdev->worker); bnxt_re_cleanup_res(rdev); bnxt_re_free_res(rdev); From patchwork Mon Oct 8 10:28:04 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Selvin Xavier X-Patchwork-Id: 10630371 X-Patchwork-Delegate: jgg@ziepe.ca Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1008D933 for ; Mon, 8 Oct 2018 10:29:18 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 00F6928986 for ; Mon, 8 Oct 2018 10:29:18 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E959F289A6; Mon, 8 Oct 2018 10:29:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7D36A28986 for ; Mon, 8 Oct 2018 10:29:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726354AbeJHRkS (ORCPT ); Mon, 8 Oct 2018 13:40:18 -0400 Received: from mail-wr1-f68.google.com ([209.85.221.68]:38804 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726330AbeJHRkR (ORCPT ); Mon, 8 Oct 2018 13:40:17 -0400 Received: by mail-wr1-f68.google.com with SMTP id a13-v6so20201555wrt.5 for ; Mon, 08 Oct 2018 03:29:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Ew7d8e7YXlWTmQ/2NmA2jFB1nOFW8XSYDFWyLz0MLu8=; b=UrNImJbC18pP6whIUmxT/bRruGR1+OV1ZsjCFQafkaY6K9gameid8mH/mnrOtOg0lM BznvnNaMbdMYwPUDjhTMAz3U0gosnOCd6rUVnBbjxcUS82Uq2VITPyHVT4syJr6qqD+k sUXqHxIwAz8w2qSpLNSDT7K948lxyonVrsxj8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Ew7d8e7YXlWTmQ/2NmA2jFB1nOFW8XSYDFWyLz0MLu8=; b=fv5XcyQgrCG7g8wysBUyXbBUO5abVu3SKea+j/+Bxe2Ve74ofZOsuOB9RJ8LcVuqrb fcLdyOpehKHsJIN9hAc1sO1vbJdV7jZ4UZtfQKjkWhKYn8oPnKkqemuAqazW/7C1ZLpY MME6tUUYM4WDT6MZg5hOLE5S32vM1XT6ct64/HDKzbgtHZnD9N8esv18clopWVaf0pVl crkGmWwjuhSTIkFKoy5zQpAPS4BL1hR/v7InDXaqc4nEr9TgkqLWs4qXiENPsCdfpZud /moxWyAU7zifcxhcHgsK97uRhxN0gJu0SkjKpUcXRDeIPhKGEsIlkCE+7fmls7oE7hGl w0Sw== X-Gm-Message-State: ABuFfoiRIi8hWp8KWjFdGaDENd/Fi92sIBN7aMY4Ex2Sf9u4A2ZMHMN5 Z4Lz2n8ezPPlLA3/gre7ewr9AA== X-Google-Smtp-Source: ACcGV6156IByfKsFvDUBkdYoM+mHHRk5jxm/REL06vefov6H1ODdzMMWnQPUeCsrfjyGx1eJHjdhyg== X-Received: by 2002:adf:8103:: with SMTP id 3-v6mr15629123wrm.106.1538994554559; Mon, 08 Oct 2018 03:29:14 -0700 (PDT) Received: from dhcp-10-192-206-197.dhcp.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id 143-v6sm12674897wmv.6.2018.10.08.03.29.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Oct 2018 03:29:14 -0700 (PDT) From: Selvin Xavier To: dledford@redhat.com, jgg@mellanox.com Cc: linux-rdma@vger.kernel.org, Selvin Xavier Subject: [PATCH rdma-next 13/13] RDMA/bnxt_re: Avoid resource leak in case the NQ registration fails Date: Mon, 8 Oct 2018 03:28:04 -0700 Message-Id: <1538994484-21390-14-git-send-email-selvin.xavier@broadcom.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> References: <1538994484-21390-1-git-send-email-selvin.xavier@broadcom.com> Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP In case the NQ alloc/enable fails, free up the already allocated/enabled NQ before reporting failure. Also, track the alloc/enable using proper state checking. Signed-off-by: Selvin Xavier --- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 2 ++ drivers/infiniband/hw/bnxt_re/main.c | 31 ++++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/drivers/infiniband/hw/bnxt_re/bnxt_re.h b/drivers/infiniband/hw/bnxt_re/bnxt_re.h index f34ef05..31baa893 100644 --- a/drivers/infiniband/hw/bnxt_re/bnxt_re.h +++ b/drivers/infiniband/hw/bnxt_re/bnxt_re.h @@ -119,6 +119,8 @@ struct bnxt_re_dev { #define BNXT_RE_FLAG_HAVE_L2_REF 3 #define BNXT_RE_FLAG_RCFW_CHANNEL_EN 4 #define BNXT_RE_FLAG_QOS_WORK_REG 5 +#define BNXT_RE_FLAG_RESOURCES_ALLOCATED 7 +#define BNXT_RE_FLAG_RESOURCES_INITIALIZED 8 #define BNXT_RE_FLAG_ISSUE_ROCE_STATS 29 struct net_device *netdev; unsigned int version, major, minor; diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c index 75a54c5..e5d4b12 100644 --- a/drivers/infiniband/hw/bnxt_re/main.c +++ b/drivers/infiniband/hw/bnxt_re/main.c @@ -863,10 +863,8 @@ static void bnxt_re_cleanup_res(struct bnxt_re_dev *rdev) { int i; - if (rdev->nq[0].hwq.max_elements) { - for (i = 1; i < rdev->num_msix; i++) - bnxt_qplib_disable_nq(&rdev->nq[i - 1]); - } + for (i = 1; i < rdev->num_msix; i++) + bnxt_qplib_disable_nq(&rdev->nq[i - 1]); if (rdev->qplib_res.rcfw) bnxt_qplib_cleanup_res(&rdev->qplib_res); @@ -875,6 +873,7 @@ static void bnxt_re_cleanup_res(struct bnxt_re_dev *rdev) static int bnxt_re_init_res(struct bnxt_re_dev *rdev) { int rc = 0, i; + int num_vec_enabled = 0; bnxt_qplib_init_res(&rdev->qplib_res); @@ -890,9 +889,13 @@ static int bnxt_re_init_res(struct bnxt_re_dev *rdev) "Failed to enable NQ with rc = 0x%x", rc); goto fail; } + num_vec_enabled++; } return 0; fail: + for (i = num_vec_enabled; i >= 0; i--) + bnxt_qplib_disable_nq(&rdev->nq[i]); + return rc; } @@ -924,6 +927,7 @@ static void bnxt_re_free_res(struct bnxt_re_dev *rdev) static int bnxt_re_alloc_res(struct bnxt_re_dev *rdev) { int rc = 0, i; + int num_vec_created = 0; /* Configure and allocate resources for qplib */ rdev->qplib_res.rcfw = &rdev->rcfw; @@ -950,7 +954,7 @@ static int bnxt_re_alloc_res(struct bnxt_re_dev *rdev) if (rc) { dev_err(rdev_to_dev(rdev), "Alloc Failed NQ%d rc:%#x", i, rc); - goto dealloc_dpi; + goto free_nq; } rc = bnxt_re_net_ring_alloc (rdev, rdev->nq[i].hwq.pbl[PBL_LVL_0].pg_map_arr, @@ -963,14 +967,17 @@ static int bnxt_re_alloc_res(struct bnxt_re_dev *rdev) dev_err(rdev_to_dev(rdev), "Failed to allocate NQ fw id with rc = 0x%x", rc); + bnxt_qplib_free_nq(&rdev->nq[i]); goto free_nq; } + num_vec_created++; } return 0; free_nq: - for (i = 0; i < rdev->num_msix - 1; i++) + for (i = num_vec_created; i >= 0; i--) { + bnxt_re_net_ring_free(rdev, rdev->nq[i].ring_id); bnxt_qplib_free_nq(&rdev->nq[i]); -dealloc_dpi: + } bnxt_qplib_dealloc_dpi(&rdev->qplib_res, &rdev->qplib_res.dpi_tbl, &rdev->dpi_privileged); @@ -1205,8 +1212,11 @@ static void bnxt_re_ib_unreg(struct bnxt_re_dev *rdev) if (test_and_clear_bit(BNXT_RE_FLAG_QOS_WORK_REG, &rdev->flags)) cancel_delayed_work_sync(&rdev->worker); - bnxt_re_cleanup_res(rdev); - bnxt_re_free_res(rdev); + if (test_and_clear_bit(BNXT_RE_FLAG_RESOURCES_INITIALIZED, + &rdev->flags)) + bnxt_re_cleanup_res(rdev); + if (test_and_clear_bit(BNXT_RE_FLAG_RESOURCES_ALLOCATED, &rdev->flags)) + bnxt_re_free_res(rdev); if (test_and_clear_bit(BNXT_RE_FLAG_RCFW_CHANNEL_EN, &rdev->flags)) { rc = bnxt_qplib_deinit_rcfw(&rdev->rcfw); @@ -1335,12 +1345,15 @@ static int bnxt_re_ib_reg(struct bnxt_re_dev *rdev) pr_err("Failed to allocate resources: %#x\n", rc); goto fail; } + set_bit(BNXT_RE_FLAG_RESOURCES_ALLOCATED, &rdev->flags); rc = bnxt_re_init_res(rdev); if (rc) { pr_err("Failed to initialize resources: %#x\n", rc); goto fail; } + set_bit(BNXT_RE_FLAG_RESOURCES_INITIALIZED, &rdev->flags); + if (!rdev->is_virtfn) { rc = bnxt_re_setup_qos(rdev); if (rc)