.. | .. |
---|
206 | 206 | if (priv->hca_caps & IB_DEVICE_MANAGED_FLOW_STEERING) |
---|
207 | 207 | init_attr.create_flags |= IB_QP_CREATE_NETIF_QP; |
---|
208 | 208 | |
---|
| 209 | + if (priv->hca_caps & IB_DEVICE_RDMA_NETDEV_OPA) |
---|
| 210 | + init_attr.create_flags |= IB_QP_CREATE_NETDEV_USE; |
---|
| 211 | + |
---|
209 | 212 | priv->qp = ib_create_qp(priv->pd, &init_attr); |
---|
210 | 213 | if (IS_ERR(priv->qp)) { |
---|
211 | 214 | pr_warn("%s: failed to create QP\n", ca->name); |
---|
.. | .. |
---|
260 | 263 | priv->qp = NULL; |
---|
261 | 264 | } |
---|
262 | 265 | |
---|
263 | | - if (ib_destroy_cq(priv->send_cq)) |
---|
264 | | - ipoib_warn(priv, "ib_cq_destroy (send) failed\n"); |
---|
265 | | - |
---|
266 | | - if (ib_destroy_cq(priv->recv_cq)) |
---|
267 | | - ipoib_warn(priv, "ib_cq_destroy (recv) failed\n"); |
---|
| 266 | + ib_destroy_cq(priv->send_cq); |
---|
| 267 | + ib_destroy_cq(priv->recv_cq); |
---|
268 | 268 | } |
---|
269 | 269 | |
---|
270 | 270 | void ipoib_event(struct ib_event_handler *handler, |
---|
.. | .. |
---|
277 | 277 | return; |
---|
278 | 278 | |
---|
279 | 279 | ipoib_dbg(priv, "Event %d on device %s port %d\n", record->event, |
---|
280 | | - record->device->name, record->element.port_num); |
---|
| 280 | + dev_name(&record->device->dev), record->element.port_num); |
---|
281 | 281 | |
---|
282 | | - if (record->event == IB_EVENT_SM_CHANGE || |
---|
283 | | - record->event == IB_EVENT_CLIENT_REREGISTER) { |
---|
| 282 | + if (record->event == IB_EVENT_CLIENT_REREGISTER) { |
---|
284 | 283 | queue_work(ipoib_workqueue, &priv->flush_light); |
---|
285 | 284 | } else if (record->event == IB_EVENT_PORT_ERR || |
---|
286 | 285 | record->event == IB_EVENT_PORT_ACTIVE || |
---|