summaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/core/mad.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2011-06-10 14:46:48 +0200
committerJiri Kosina <jkosina@suse.cz>2011-06-10 14:46:57 +0200
commit5be5758c114b18260c6fd4c8373bf89e39b0fe82 (patch)
tree54390f904df6ff11e570f764c444356cf2709fda /drivers/infiniband/core/mad.c
parent71f66a6580c4e42df377bebbcca5c72661a40700 (diff)
parent7f45e5cd1718ed769295033ca214032848a0097d (diff)
downloadblackbird-op-linux-5be5758c114b18260c6fd4c8373bf89e39b0fe82.tar.gz
blackbird-op-linux-5be5758c114b18260c6fd4c8373bf89e39b0fe82.zip
Merge branch 'master' into for-next
Sync with Linus' tree to be able to apply patches against new code I have in queue.
Diffstat (limited to 'drivers/infiniband/core/mad.c')
-rw-r--r--drivers/infiniband/core/mad.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c
index 822cfdcd9f78..b4d8672a3e4e 100644
--- a/drivers/infiniband/core/mad.c
+++ b/drivers/infiniband/core/mad.c
@@ -276,6 +276,13 @@ struct ib_mad_agent *ib_register_mad_agent(struct ib_device *device,
goto error1;
}
+ /* Verify the QP requested is supported. For example, Ethernet devices
+ * will not have QP0 */
+ if (!port_priv->qp_info[qpn].qp) {
+ ret = ERR_PTR(-EPROTONOSUPPORT);
+ goto error1;
+ }
+
/* Allocate structures */
mad_agent_priv = kzalloc(sizeof *mad_agent_priv, GFP_KERNEL);
if (!mad_agent_priv) {
OpenPOWER on IntegriCloud