@@ -60,7 +60,7 @@ static int recv_subn_get_nodedescription(struct ib_smp *smp,
if (smp->attr_mod)
smp->status |= IB_SMP_INVALID_FIELD;
- memcpy(smp->data, ibdev->node_desc, sizeof(smp->data));
+ ib_build_node_desc(smp, ibdev);
return reply(smp);
}
@@ -2179,8 +2179,8 @@ int ipath_register_ib_device(struct ipath_devdata *dd)
dev->mmap = ipath_mmap;
dev->dma_ops = &ipath_dma_mapping_ops;
- snprintf(dev->node_desc, sizeof(dev->node_desc),
- IPATH_IDSTR " %s", init_utsname()->nodename);
+ strncpy(dev->node_desc, sizeof(dev->node_desc),
+ "%h: %d " IPATH_IDSTR);
ret = ib_register_device(dev, NULL);
if (ret)
@@ -196,7 +196,7 @@ static void node_desc_override(struct ib_device *dev,
mad->mad_hdr.method == IB_MGMT_METHOD_GET_RESP &&
mad->mad_hdr.attr_id == IB_SMP_ATTR_NODE_DESC) {
spin_lock(&to_mdev(dev)->sm_lock);
- memcpy(((struct ib_smp *) mad)->data, dev->node_desc, 64);
+ ib_build_node_desc((struct ib_smp *) mad, dev);
spin_unlock(&to_mdev(dev)->sm_lock);
}
}
@@ -713,7 +713,8 @@ static int init_node_data(struct mlx4_ib_dev *dev)
if (err)
goto out;
- memcpy(dev->ib_dev.node_desc, out_mad->data, 64);
+ snprintf(dev->ib_dev.node_desc, 64, "%%h: %%d %s", out_mad->data);
+ dev->ib_dev.node_desc[63] = 0;
in_mad->attr_id = IB_SMP_ATTR_NODE_INFO;
@@ -153,7 +153,7 @@ static void node_desc_override(struct ib_device *dev,
mad->mad_hdr.method == IB_MGMT_METHOD_GET_RESP &&
mad->mad_hdr.attr_id == IB_SMP_ATTR_NODE_DESC) {
mutex_lock(&to_mdev(dev)->cap_mask_mutex);
- memcpy(((struct ib_smp *) mad)->data, dev->node_desc, 64);
+ ib_build_node_desc((struct ib_smp *) mad, dev);
mutex_unlock(&to_mdev(dev)->cap_mask_mutex);
}
}
@@ -1273,7 +1273,8 @@ static int mthca_init_node_data(struct mthca_dev *dev)
goto out;
}
- memcpy(dev->ib_dev.node_desc, out_mad->data, 64);
+ snprintf(dev->ib_dev.node_desc, 64, "%%h: %%d %s", out_mad->data);
+ dev->ib_dev.node_desc[63] = 0;
in_mad->attr_id = IB_SMP_ATTR_NODE_INFO;
@@ -260,7 +260,7 @@ static int subn_get_nodedescription(struct ib_smp *smp,
if (smp->attr_mod)
smp->status |= IB_SMP_INVALID_FIELD;
- memcpy(smp->data, ibdev->node_desc, sizeof(smp->data));
+ ib_build_node_desc(smp, ibdev);
return reply(smp);
}
@@ -2158,7 +2158,7 @@ int qib_register_ib_device(struct qib_devdata *dd)
ibdev->dma_ops = &qib_dma_mapping_ops;
snprintf(ibdev->node_desc, sizeof(ibdev->node_desc),
- QIB_IDSTR " %s", init_utsname()->nodename);
+ "%h: %d " QIB_IDSTR);
ret = ib_register_device(ibdev, qib_create_port_files);
if (ret)