Commit f068cb1d authored by Joe Perches's avatar Joe Perches Committed by Jason Gunthorpe

RDMA/usnic: Fix misuse of sysfs_emit_at

In commit e28bf1f0 ("RDMA: Convert various random sprintf sysfs _show
uses to sysfs_emit") I mistakenly used len = sysfs_emit_at to overwrite
the last trailing space of potentially multiple entry output.

Instead use a more common style by removing the trailing space from the
output formats and adding a prefixing space to the contination formats and
converting the final terminating output newline from the defective
	len = sysfs_emit_at(buf, len, "\n");
to the now appropriate and typical
	len += sysfs_emit_at(buf, len, "\n");

Fixes: e28bf1f0 ("RDMA: Convert various random sprintf sysfs _show uses to sysfs_emit")
Link: https://lore.kernel.org/r/5eb794b9c9bca0494d94b2b209f1627fa4e7b555.camel@perches.comReported-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent de641d74
...@@ -214,7 +214,7 @@ static ssize_t summary_show(struct usnic_ib_qp_grp *qp_grp, char *buf) ...@@ -214,7 +214,7 @@ static ssize_t summary_show(struct usnic_ib_qp_grp *qp_grp, char *buf)
struct usnic_vnic_res *vnic_res; struct usnic_vnic_res *vnic_res;
int len; int len;
len = sysfs_emit(buf, "QPN: %d State: (%s) PID: %u VF Idx: %hu ", len = sysfs_emit(buf, "QPN: %d State: (%s) PID: %u VF Idx: %hu",
qp_grp->ibqp.qp_num, qp_grp->ibqp.qp_num,
usnic_ib_qp_grp_state_to_string(qp_grp->state), usnic_ib_qp_grp_state_to_string(qp_grp->state),
qp_grp->owner_pid, qp_grp->owner_pid,
...@@ -224,14 +224,13 @@ static ssize_t summary_show(struct usnic_ib_qp_grp *qp_grp, char *buf) ...@@ -224,14 +224,13 @@ static ssize_t summary_show(struct usnic_ib_qp_grp *qp_grp, char *buf)
res_chunk = qp_grp->res_chunk_list[i]; res_chunk = qp_grp->res_chunk_list[i];
for (j = 0; j < res_chunk->cnt; j++) { for (j = 0; j < res_chunk->cnt; j++) {
vnic_res = res_chunk->res[j]; vnic_res = res_chunk->res[j];
len += sysfs_emit_at( len += sysfs_emit_at(buf, len, " %s[%d]",
buf, len, "%s[%d] ",
usnic_vnic_res_type_to_str(vnic_res->type), usnic_vnic_res_type_to_str(vnic_res->type),
vnic_res->vnic_idx); vnic_res->vnic_idx);
} }
} }
len = sysfs_emit_at(buf, len, "\n"); len += sysfs_emit_at(buf, len, "\n");
return len; return len;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment