| .. | .. |
|---|
| 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 || |
|---|