2019-09-11 22:25:32

by Navid Emamdoost

[permalink] [raw]
Subject: [PATCH] platform/chrome: null check create_singlethread_workqueue

In cros_usbpd_logger_probe the return value of
create_singlethread_workqueue may be null, it should be checked.

Signed-off-by: Navid Emamdoost <[email protected]>
---
drivers/platform/chrome/cros_usbpd_logger.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/platform/chrome/cros_usbpd_logger.c b/drivers/platform/chrome/cros_usbpd_logger.c
index 7c7b267626a0..c83397955cc3 100644
--- a/drivers/platform/chrome/cros_usbpd_logger.c
+++ b/drivers/platform/chrome/cros_usbpd_logger.c
@@ -209,6 +209,9 @@ static int cros_usbpd_logger_probe(struct platform_device *pd)
/* Retrieve PD event logs periodically */
INIT_DELAYED_WORK(&logger->log_work, cros_usbpd_log_check);
logger->log_workqueue = create_singlethread_workqueue("cros_usbpd_log");
+ if (!logger->log_workqueue)
+ return -ENOMEM;
+
queue_delayed_work(logger->log_workqueue, &logger->log_work,
CROS_USBPD_LOG_UPDATE_DELAY);

--
2.17.1


2019-09-19 13:56:10

by Enric Balletbo i Serra

[permalink] [raw]
Subject: Re: [PATCH] platform/chrome: null check create_singlethread_workqueue

Hi,

On 11/9/19 22:10, Navid Emamdoost wrote:
> In cros_usbpd_logger_probe the return value of
> create_singlethread_workqueue may be null, it should be checked.
>
> Signed-off-by: Navid Emamdoost <[email protected]>
> ---

Applied for 5.4, the patch went to linux-next some time ago, so sorry for late
notice.

Thanks,
Enric


> drivers/platform/chrome/cros_usbpd_logger.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/platform/chrome/cros_usbpd_logger.c b/drivers/platform/chrome/cros_usbpd_logger.c
> index 7c7b267626a0..c83397955cc3 100644
> --- a/drivers/platform/chrome/cros_usbpd_logger.c
> +++ b/drivers/platform/chrome/cros_usbpd_logger.c
> @@ -209,6 +209,9 @@ static int cros_usbpd_logger_probe(struct platform_device *pd)
> /* Retrieve PD event logs periodically */
> INIT_DELAYED_WORK(&logger->log_work, cros_usbpd_log_check);
> logger->log_workqueue = create_singlethread_workqueue("cros_usbpd_log");
> + if (!logger->log_workqueue)
> + return -ENOMEM;
> +
> queue_delayed_work(logger->log_workqueue, &logger->log_work,
> CROS_USBPD_LOG_UPDATE_DELAY);
>
>