diff options
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib.h | 2 | ||||
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_ib.c | 4 | ||||
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 9 |
3 files changed, 8 insertions, 7 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib.h b/drivers/infiniband/ulp/ipoib/ipoib.h index 4ea1c1ca85bc..6b14bd1c60a0 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib.h +++ b/drivers/infiniband/ulp/ipoib/ipoib.h | |||
@@ -277,7 +277,7 @@ int ipoib_mcast_attach(struct net_device *dev, u16 mlid, | |||
277 | int ipoib_mcast_detach(struct net_device *dev, u16 mlid, | 277 | int ipoib_mcast_detach(struct net_device *dev, u16 mlid, |
278 | union ib_gid *mgid); | 278 | union ib_gid *mgid); |
279 | 279 | ||
280 | int ipoib_qp_create(struct net_device *dev); | 280 | int ipoib_init_qp(struct net_device *dev); |
281 | int ipoib_transport_dev_init(struct net_device *dev, struct ib_device *ca); | 281 | int ipoib_transport_dev_init(struct net_device *dev, struct ib_device *ca); |
282 | void ipoib_transport_dev_cleanup(struct net_device *dev); | 282 | void ipoib_transport_dev_cleanup(struct net_device *dev); |
283 | 283 | ||
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_ib.c b/drivers/infiniband/ulp/ipoib/ipoib_ib.c index f7440096b5ed..02d0e0006578 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_ib.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_ib.c | |||
@@ -387,9 +387,9 @@ int ipoib_ib_dev_open(struct net_device *dev) | |||
387 | struct ipoib_dev_priv *priv = netdev_priv(dev); | 387 | struct ipoib_dev_priv *priv = netdev_priv(dev); |
388 | int ret; | 388 | int ret; |
389 | 389 | ||
390 | ret = ipoib_qp_create(dev); | 390 | ret = ipoib_init_qp(dev); |
391 | if (ret) { | 391 | if (ret) { |
392 | ipoib_warn(priv, "ipoib_qp_create returned %d\n", ret); | 392 | ipoib_warn(priv, "ipoib_init_qp returned %d\n", ret); |
393 | return -1; | 393 | return -1; |
394 | } | 394 | } |
395 | 395 | ||
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c index 79f59d0563ed..b5902a7ec240 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_verbs.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_verbs.c | |||
@@ -92,7 +92,7 @@ int ipoib_mcast_detach(struct net_device *dev, u16 mlid, union ib_gid *mgid) | |||
92 | return ret; | 92 | return ret; |
93 | } | 93 | } |
94 | 94 | ||
95 | int ipoib_qp_create(struct net_device *dev) | 95 | int ipoib_init_qp(struct net_device *dev) |
96 | { | 96 | { |
97 | struct ipoib_dev_priv *priv = netdev_priv(dev); | 97 | struct ipoib_dev_priv *priv = netdev_priv(dev); |
98 | int ret; | 98 | int ret; |
@@ -149,10 +149,11 @@ int ipoib_qp_create(struct net_device *dev) | |||
149 | return 0; | 149 | return 0; |
150 | 150 | ||
151 | out_fail: | 151 | out_fail: |
152 | ib_destroy_qp(priv->qp); | 152 | qp_attr.qp_state = IB_QPS_RESET; |
153 | priv->qp = NULL; | 153 | if (ib_modify_qp(priv->qp, &qp_attr, IB_QP_STATE)) |
154 | ipoib_warn(priv, "Failed to modify QP to RESET state\n"); | ||
154 | 155 | ||
155 | return -EINVAL; | 156 | return ret; |
156 | } | 157 | } |
157 | 158 | ||
158 | int ipoib_transport_dev_init(struct net_device *dev, struct ib_device *ca) | 159 | int ipoib_transport_dev_init(struct net_device *dev, struct ib_device *ca) |