From 5504d2877a6a307fe856444d366332b5d647251d Mon Sep 17 00:00:00 2001 From: Shengjiu Wang Date: Sat, 3 Aug 2019 15:54:45 +0800 Subject: [PATCH] MLK-22355: mfd: si476x: Use system_freezable_wq instead of system_wq There is issue that system can't enter suspend while the si476x is working. The reason is that with the workqueue thread is still working after i2c enter suspend, then cause the cpu_suspend function failed. This patch is to use the system_freezable_wq instead of the system_wq, that the workqueue will be freeze before system enter suspend. Signed-off-by: Shengjiu Wang Reviewed-by: Viorel Suman --- drivers/mfd/si476x-i2c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mfd/si476x-i2c.c b/drivers/mfd/si476x-i2c.c index 76d296632d1b..accdcdc7f23f 100644 --- a/drivers/mfd/si476x-i2c.c +++ b/drivers/mfd/si476x-i2c.c @@ -97,7 +97,7 @@ static int si476x_core_config_pinmux(struct si476x_core *core) static inline void si476x_core_schedule_polling_work(struct si476x_core *core) { - schedule_delayed_work(&core->status_monitor, + queue_delayed_work(system_freezable_wq, &core->status_monitor, usecs_to_jiffies(SI476X_STATUS_POLL_US)); }