From: Weili Qian <qianweili@huawei.com> Because wd_get_accel_name() allocates memory, the caller needs to release the memory. Currently, the memory has not been released, fix it. Upstream: Yes AR: AR20230722287656 DTS: DTS2025112149705 Feature or Bugfix: Feature Signed-off-by: Weili Qian <qianweili@huawei.com> --- drv/hisi_qm_udrv.c | 4 +++- wd.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/drv/hisi_qm_udrv.c b/drv/hisi_qm_udrv.c index 4ddf8a8..d4feea5 100644 --- a/drv/hisi_qm_udrv.c +++ b/drv/hisi_qm_udrv.c @@ -184,8 +184,10 @@ int hisi_qm_get_usage(handle_t h_qp, __u8 type) return -WD_EINVAL; } + if (count <= (__u16)val) + return QM_MAX_DEV_USAGE; + usage = (__u16)val * QM_DEV_USAGE_RATE / count; - usage = usage > QM_MAX_DEV_USAGE ? QM_MAX_DEV_USAGE : usage; return usage; } diff --git a/wd.c b/wd.c index dcb1dc4..ec20c3f 100644 --- a/wd.c +++ b/wd.c @@ -1163,6 +1163,7 @@ int wd_get_dev_usage(struct uacce_dev *dev, const char *alg_name, __u8 alg_op_ty } ret = wd_alg_get_dev_usage(dev_name, alg_name, alg_op_type); + free(dev_name); if (ret == -WD_EACCES) return wd_read_dev_usage(dev, alg_name, alg_op_type); -- 2.33.0