diff options
author | Jason Gunthorpe <jgunthorpe@obsidianresearch.com> | 2015-07-22 23:30:03 +0300 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2015-07-24 18:34:26 +0300 |
commit | efc1eedbf63a194b3b576fc25776f3f1fa55a4d4 (patch) | |
tree | 32f0dfee50c6bc08a4b9ee922f5f15c7b37986da /drivers/infiniband/ulp/ipoib/ipoib_verbs.c | |
parent | 49fa63d8c2f95b636cc31a7164aeac0309dfa3c9 (diff) | |
download | linux-efc1eedbf63a194b3b576fc25776f3f1fa55a4d4.tar.xz |
IB/ipoib: Fix CONFIG_INFINIBAND_IPOIB_CM
If the above is turned off then ipoib_cm_dev_init unconditionally
returns ENOSYS, and the newly added error handling in
0b3957 prevents ipoib from coming up at all:
kernel: mlx4_0: ipoib_transport_dev_init failed
kernel: mlx4_0: failed to initialize port 1 (ret = -12)
Fixes: 0b39578bcde4 (IB/ipoib: Use dedicated workqueues per interface)
Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/ulp/ipoib/ipoib_verbs.c')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c index 9e6ee82a8fd7..851c8219d501 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c @@ -177,7 +177,8 @@ int ipoib_transport_dev_init(struct net_device *dev, struct ib_device *ca) else size += ipoib_recvq_size * ipoib_max_conn_qp; } else - goto out_free_wq; + if (ret != -ENOSYS) + goto out_free_wq; cq_attr.cqe = size; priv->recv_cq = ib_create_cq(priv->ca, ipoib_ib_completion, NULL, |