aboutsummaryrefslogtreecommitdiff
path: root/kernel/rpmsg/ethosu_rpmsg_inference.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/rpmsg/ethosu_rpmsg_inference.c')
-rw-r--r--kernel/rpmsg/ethosu_rpmsg_inference.c25
1 files changed, 20 insertions, 5 deletions
diff --git a/kernel/rpmsg/ethosu_rpmsg_inference.c b/kernel/rpmsg/ethosu_rpmsg_inference.c
index b6288ef..dd88a8a 100644
--- a/kernel/rpmsg/ethosu_rpmsg_inference.c
+++ b/kernel/rpmsg/ethosu_rpmsg_inference.c
@@ -278,16 +278,20 @@ int ethosu_rpmsg_inference_create(struct device *dev,
if (uapi->ifm_count > ETHOSU_FD_MAX ||
uapi->ofm_count > ETHOSU_FD_MAX) {
- dev_warn(dev,
- "Too many IFM and/or OFM buffers for inference. ifm_count=%u, ofm_count=%u",
- uapi->ifm_count, uapi->ofm_count);
+ dev_err(dev,
+ "Inference create. Too many IFM and/or OFM buffers for inference. ifm_count=%u, ofm_count=%u",
+ uapi->ifm_count, uapi->ofm_count);
return -EFAULT;
}
inf = devm_kzalloc(dev, sizeof(*inf), GFP_KERNEL);
- if (!inf)
+ if (!inf) {
+ dev_err(dev,
+ "Inference create. Failed to allocate struct");
+
return -ENOMEM;
+ }
inf->dev = dev;
inf->mailbox = mailbox;
@@ -308,6 +312,9 @@ int ethosu_rpmsg_inference_create(struct device *dev,
inf->ifm[i] = ethosu_buffer_get_from_fd(uapi->ifm_fd[i]);
if (IS_ERR(inf->ifm[i])) {
ret = PTR_ERR(inf->ifm[i]);
+ dev_err(dev,
+ "Inference create. Failed to get IFM buffer%u ret=%d",
+ i, ret);
goto put_ifm;
}
@@ -319,6 +326,9 @@ int ethosu_rpmsg_inference_create(struct device *dev,
inf->ofm[i] = ethosu_buffer_get_from_fd(uapi->ofm_fd[i]);
if (IS_ERR(inf->ofm[i])) {
ret = PTR_ERR(inf->ofm[i]);
+ dev_err(dev,
+ "Inference create. Failed to get OFM buffer%u ret=%d",
+ i, ret);
goto put_ofm;
}
@@ -353,8 +363,13 @@ int ethosu_rpmsg_inference_create(struct device *dev,
ret = fd = anon_inode_getfd("ethosu-inference",
&ethosu_rpmsg_inference_fops,
inf, O_RDWR | O_CLOEXEC);
- if (ret < 0)
+ if (ret < 0) {
+ dev_err(dev,
+ "Inference create. Failed to get file descriptor. ret=%d",
+ ret);
+
goto put_net;
+ }
/* Store pointer to file structure */
inf->file = fget(ret);