greybus: arche-platform: Cancel delayed_work in driver remove fn
authorVaibhav Hiremath <vaibhav.hiremath@linaro.org>
Fri, 12 Feb 2016 19:45:11 +0000 (01:15 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Mon, 15 Feb 2016 21:17:04 +0000 (13:17 -0800)
This is a bug fix, where as part of cleanup, delayed work was not
canceled in driver remove function. So fix it.

Testing Done: Tested on EVT1.2 and DB3.5 platform.

Signed-off-by: Vaibhav Hiremath <vaibhav.hiremath@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/arche-platform.c

index f367430..3b7974d 100644 (file)
@@ -262,6 +262,7 @@ static int arche_platform_remove(struct platform_device *pdev)
 {
        struct arche_platform_drvdata *arche_pdata = platform_get_drvdata(pdev);
 
+       cancel_delayed_work_sync(&arche_pdata->delayed_work);
        device_for_each_child(&pdev->dev, NULL, arche_remove_child);
        arche_platform_cleanup(arche_pdata);
        platform_set_drvdata(pdev, NULL);