diff --git a/drivers/misc/uacce/uacce.c b/drivers/misc/uacce/uacce.c index db7b3936aec6f3904d2d871c640b871918e25f65..b0cdc244e882a0ab26ffe9831e477c8ab242bf33 100644 --- a/drivers/misc/uacce/uacce.c +++ b/drivers/misc/uacce/uacce.c @@ -126,11 +126,10 @@ static void uacce_hw_err_destroy(struct uacce *uacce) } } -const char *uacce_qfrt_str(struct uacce_qfile_region *qfr) +static const char *uacce_qfrt_str(struct uacce_qfile_region *qfr) { return qfrt_str[qfr->type]; } -EXPORT_SYMBOL_GPL(uacce_qfrt_str); /** * uacce_wake_up - Wake up the process who is waiting this queue @@ -1302,6 +1301,9 @@ EXPORT_SYMBOL_GPL(uacce_register); */ int uacce_unregister(struct uacce *uacce) { + if (!uacce) + return -ENODEV; + if (atomic_read(&uacce->ref) > 0) { printk_ratelimited("Fail to unregister uacce, please close all uacce queues!\n"); return -EAGAIN; diff --git a/include/linux/uacce.h b/include/linux/uacce.h index 43737c3f7f52502a0bbbb8964b7df2e5968582d4..b43b65abdce39ad8454df6388e216e75a8ff1b90 100644 --- a/include/linux/uacce.h +++ b/include/linux/uacce.h @@ -128,7 +128,6 @@ struct uacce { int uacce_register(struct uacce *uacce); int uacce_unregister(struct uacce *uacce); void uacce_wake_up(struct uacce_queue *q); -const char *uacce_qfrt_str(struct uacce_qfile_region *qfr); struct uacce *dev_to_uacce(struct device *dev); int uacce_hw_err_isolate(struct uacce *uacce);