return reply((struct ib_mad_hdr *)smp);
}
----- ni->port_guid = cpu_to_be64(dd->pport[pidx].guid);
+++++ ni->port_guid = get_sguid(to_iport(ibdev, port), HFI1_PORT_GUID_INDEX);
ni->base_version = OPA_MGMT_BASE_VERSION;
- ---- ni->class_version = OPA_SMI_CLASS_VERSION;
+ ++++ ni->class_version = OPA_SM_CLASS_VERSION;
ni->node_type = 1; /* channel adapter */
ni->num_ports = ibdev->phys_port_cnt;
/* This is already in network order */
/* GUID 0 is illegal */
if (smp->attr_mod || pidx >= dd->num_pports ||
----- dd->pport[pidx].guid == 0)
+++++ ibdev->node_guid == 0 ||
+++++ get_sguid(to_iport(ibdev, port), HFI1_PORT_GUID_INDEX) == 0) {
smp->status |= IB_SMP_INVALID_FIELD;
----- else
----- nip->port_guid = cpu_to_be64(dd->pport[pidx].guid);
+++++ return reply((struct ib_mad_hdr *)smp);
+++++ }
+++++ nip->port_guid = get_sguid(to_iport(ibdev, port), HFI1_PORT_GUID_INDEX);
nip->base_version = OPA_MGMT_BASE_VERSION;
- ---- nip->class_version = OPA_SMI_CLASS_VERSION;
+ ++++ nip->class_version = OPA_SM_CLASS_VERSION;
nip->node_type = 1; /* channel adapter */
nip->num_ports = ibdev->phys_port_cnt;
/* This is already in network order */
kmalloc(BITS_TO_LONGS(ibdev->steer_qpn_count) *
sizeof(long),
GFP_KERNEL);
----- if (!ibdev->ib_uc_qpns_bitmap) {
----- dev_err(&dev->persist->pdev->dev,
----- "bit map alloc failed\n");
+++++ if (!ibdev->ib_uc_qpns_bitmap)
goto err_steer_qp_release;
----- }
-
- bitmap_zero(ibdev->ib_uc_qpns_bitmap, ibdev->steer_qpn_count);
---- bitmap_zero(ibdev->ib_uc_qpns_bitmap, ibdev->steer_qpn_count);
----
----- err = mlx4_FLOW_STEERING_IB_UC_QP_RANGE(
----- dev, ibdev->steer_qpn_base,
----- ibdev->steer_qpn_base +
----- ibdev->steer_qpn_count - 1);
----- if (err)
----- goto err_steer_free_bitmap;
+++++ if (dev->caps.flags2 & MLX4_DEV_CAP_FLAG2_DMFS_IPOIB) {
+++++ bitmap_zero(ibdev->ib_uc_qpns_bitmap,
+++++ ibdev->steer_qpn_count);
+++++ err = mlx4_FLOW_STEERING_IB_UC_QP_RANGE(
+++++ dev, ibdev->steer_qpn_base,
+++++ ibdev->steer_qpn_base +
+++++ ibdev->steer_qpn_count - 1);
+++++ if (err)
+++++ goto err_steer_free_bitmap;
+++++ } else {
+++++ bitmap_fill(ibdev->ib_uc_qpns_bitmap,
+++++ ibdev->steer_qpn_count);
+++++ }
}
for (j = 1; j <= ibdev->dev->caps.num_ports; j++)