All of lore.kernel.org
 help / color / mirror / Atom feed
From: Knut Omang <knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Dag Moxnes <dag.moxnes-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>,
	Knut Omang <knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
Subject: [PATCH 1/9] ib_mad: incoming sminfo SMPs gets discarded if no process_mad function is registered
Date: Fri,  2 Sep 2016 02:09:21 +0200	[thread overview]
Message-ID: <1472774969-18997-2-git-send-email-knut.omang@oracle.com> (raw)
In-Reply-To: <1472774969-18997-1-git-send-email-knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>

From: Dag Moxnes <dag.moxnes-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>

The process_mad function is an optional IB driver entry point
allows a driver to intercept or modify MAD traffic.

This fix allows MAD traffic to flow down to the device also
when MAD traffic is completely handled by the device and
no process_mad function is provided.

Signed-off-by: Knut Omang <knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
---
 drivers/infiniband/core/mad.c | 6 ++++++
 drivers/infiniband/core/smi.h | 6 ++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c
index 2d49228..ece33ec 100644
--- a/drivers/infiniband/core/mad.c
+++ b/drivers/infiniband/core/mad.c
@@ -813,6 +813,12 @@ static int handle_outgoing_dr_smp(struct ib_mad_agent_private *mad_agent_priv,
 			goto out;
 	}
 
+	/* If device does not define the optional process_mad function it means that
+	 * everything is handled in hardware:
+	 */
+	if (!device->process_mad)
+		goto out;
+
 	local = kmalloc(sizeof *local, GFP_ATOMIC);
 	if (!local) {
 		ret = -ENOMEM;
diff --git a/drivers/infiniband/core/smi.h b/drivers/infiniband/core/smi.h
index 33c91c8..16a9f9a 100644
--- a/drivers/infiniband/core/smi.h
+++ b/drivers/infiniband/core/smi.h
@@ -67,8 +67,7 @@ static inline enum smi_action smi_check_local_smp(struct ib_smp *smp,
 {
 	/* C14-9:3 -- We're at the end of the DR segment of path */
 	/* C14-9:4 -- Hop Pointer = Hop Count + 1 -> give to SMA/SM */
-	return ((device->process_mad &&
-		!ib_get_smp_direction(smp) &&
+	return ((!ib_get_smp_direction(smp) &&
 		(smp->hop_ptr == smp->hop_cnt + 1)) ?
 		IB_SMI_HANDLE : IB_SMI_DISCARD);
 }
@@ -82,8 +81,7 @@ static inline enum smi_action smi_check_local_returning_smp(struct ib_smp *smp,
 {
 	/* C14-13:3 -- We're at the end of the DR segment of path */
 	/* C14-13:4 -- Hop Pointer == 0 -> give to SM */
-	return ((device->process_mad &&
-		ib_get_smp_direction(smp) &&
+	return ((ib_get_smp_direction(smp) &&
 		!smp->hop_ptr) ? IB_SMI_HANDLE : IB_SMI_DISCARD);
 }
 
-- 
2.5.5

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-09-02  0:09 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-02  0:09 [PATCH 0/9] SIF related verbs patches Knut Omang
     [not found] ` <1472774969-18997-1-git-send-email-knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-02  0:09   ` Knut Omang [this message]
     [not found]     ` <1472774969-18997-2-git-send-email-knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-06 14:01       ` [PATCH 1/9] ib_mad: incoming sminfo SMPs gets discarded if no process_mad function is registered Hal Rosenstock
     [not found]         ` <57867d7f-cc9f-5ec2-6632-c552e6469e40-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-09-07 11:42           ` Knut Omang
     [not found]             ` <1473248532.3103.51.camel-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-08 11:33               ` Hal Rosenstock
     [not found]                 ` <098f69ae-6940-589a-e9ad-c65e34c958b7-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-09-08 17:22                   ` Knut Omang
     [not found]                     ` <1473355350.569.5.camel-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-08 19:02                       ` Hal Rosenstock
     [not found]                         ` <2eddf795-71bb-1866-42d9-8a3ba3d512d4-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-09-09  2:23                           ` Knut Omang
     [not found]                             ` <1473387784.569.17.camel-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-09 14:24                               ` Hal Rosenstock
     [not found]                                 ` <37195bbc-0db0-8054-2174-8dc0faf7c692-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2016-09-12  9:09                                   ` Knut Omang
     [not found]                                     ` <1473671364.17998.17.camel-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-12 14:03                                       ` Hal Rosenstock
2016-09-02  0:09   ` [PATCH 2/9] ib_umem: Add a new, more generic ib_umem_get_attrs Knut Omang
2016-09-02  0:09   ` [PATCH 3/9] ib_umem: With the new ib_umem_get_attrs, simplify ib_umem_get Knut Omang
2016-09-02  0:09   ` [PATCH 4/9] ib: Add udata argument to create_ah Knut Omang
     [not found]     ` <1472774969-18997-5-git-send-email-knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-02  0:38       ` kbuild test robot
2016-09-02  0:39       ` kbuild test robot
     [not found]         ` <201609020848.QliVPrIS%fengguang.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2016-09-02  8:01           ` Knut Omang
2016-09-02  0:09   ` [PATCH 5/9] ib_uverbs: Add padding to end align ib_uverbs_reg_mr_resp Knut Omang
     [not found]     ` <1472774969-18997-6-git-send-email-knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-02  2:09       ` Jason Gunthorpe
     [not found]         ` <20160902020945.GB30057-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-02  7:54           ` Knut Omang
2016-09-02  0:09   ` [PATCH 6/9] ib_uverbs: Avoid vendor specific masking of attributes in query_qp Knut Omang
     [not found]     ` <1472774969-18997-7-git-send-email-knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-02  2:13       ` Jason Gunthorpe
     [not found]         ` <20160902021300.GC30057-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-02  4:45           ` Knut Omang
     [not found]             ` <1472791552.9410.258.camel-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-02 17:10               ` Jason Gunthorpe
     [not found]                 ` <20160902171008.GE24997-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-02 17:35                   ` Knut Omang
     [not found]                     ` <1472837728.9410.340.camel-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-12 15:05                       ` Knut Omang
2016-09-02  0:09   ` [PATCH 7/9] ib_{uverbs/core}: add new ib_create_qp_ex with udata arg Knut Omang
2016-09-02  0:09   ` [PATCH 8/9] ib_uverbs: Support for kernel implementation of XRC Knut Omang
     [not found]     ` <1472774969-18997-9-git-send-email-knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-02  2:16       ` Jason Gunthorpe
     [not found]         ` <20160902021640.GD30057-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-02  7:55           ` Knut Omang
2016-09-02  0:09   ` [PATCH 9/9] ib_verbs: Add a new qp create flag to request features for Ethernet over IB Knut Omang
     [not found]     ` <1472774969-18997-10-git-send-email-knut.omang-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-02  2:17       ` Jason Gunthorpe
     [not found]         ` <20160902021729.GE30057-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-02  5:04           ` Knut Omang
     [not found]             ` <1472792670.9410.276.camel-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-02 11:00               ` Knut Omang
     [not found]                 ` <1472814057.3975.47.camel-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-02 16:19                   ` Santosh Shilimkar
     [not found]                     ` <b38c5cf6-4e07-33eb-8704-284498481bb6-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2016-09-02 17:11                       ` Jason Gunthorpe
     [not found]                         ` <20160902171107.GF24997-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-02 17:14                           ` Santosh Shilimkar
2016-09-02 16:34                   ` Jason Gunthorpe
     [not found]                     ` <20160902163451.GC24997-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2016-09-07 17:33                       ` Knut Omang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1472774969-18997-2-git-send-email-knut.omang@oracle.com \
    --to=knut.omang-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
    --cc=dag.moxnes-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org \
    --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.