char data[1];
};
-static size_t
+size_t
edm_trace_print(struct PVRSRV_SGXDEV_INFO *sdev, char *dst, size_t dst_len)
{
u32 *buf_start;
buf = sdev->psKernelEDMStatusBufferMemInfo->pvLinAddrKM;
- p += snprintf(dst + p, dst_len - p,
- "Last SGX microkernel status code: 0x%x\n", *buf);
+ if (dst)
+ p += scnprintf(dst + p, dst_len - p,
+ "Last SGX microkernel status code: 0x%x\n", *buf);
+ else
+ printk(KERN_DEBUG "Last SGX microkernel status code: 0x%x\n",
+ *buf);
buf++;
wr_ofs = *buf;
buf++;
/* Dump the status values */
for (i = 0; i < SGXMK_TRACE_BUFFER_SIZE; i++) {
- p += snprintf(dst + p, dst_len - p, "%3d %08X %08X %08X %08X\n",
- i, buf[2], buf[3], buf[1], buf[0]);
+ if (dst)
+ p += scnprintf(dst + p, dst_len - p,
+ "%3d %08X %08X %08X %08X\n",
+ i, buf[2], buf[3], buf[1], buf[0]);
+ else
+ printk(KERN_DEBUG "%3d %08X %08X %08X %08X\n",
+ i, buf[2], buf[3], buf[1], buf[0]);
buf += 4;
if (buf >= buf_end)
buf = buf_start;
for (j = 0; j < dst->cnt; j++) {
if (sbinf->buf_id == dst->info[j].buf_id) {
- if (memcmp(sbinf, &dst->info[j], sizeof(sbinf)))
+ if (memcmp(sbinf, &dst->info[j],
+ sizeof(*sbinf)))
dst->info[j].type |= BUF_DESC_CORRUPT;
break;
}