flush_scheduled_work is scheduled for deprecation.
Replace cancel_delayed_work and flush_scheduled_work with
cancel_delayed_work_sync instead to ensure there is no pending or
running work item.

Since there is only one work item, chip->poweroff_work, there are 
no further dependencies of flush_scheduled_work().

Acked-by: Tejun Heo <[email protected]>
Signed-off-by: Amitoj Kaur Chawla <[email protected]>
---
 drivers/iio/light/tsl2563.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/iio/light/tsl2563.c b/drivers/iio/light/tsl2563.c
index 12731d6..57b108c 100644
--- a/drivers/iio/light/tsl2563.c
+++ b/drivers/iio/light/tsl2563.c
@@ -806,8 +806,7 @@ static int tsl2563_probe(struct i2c_client *client,
        return 0;
 
 fail:
-       cancel_delayed_work(&chip->poweroff_work);
-       flush_scheduled_work();
+       cancel_delayed_work_sync(&chip->poweroff_work);
        return err;
 }
 
-- 
1.9.1

Reply via email to