diff options
author | Todd Poynor <toddpoynor@google.com> | 2012-07-13 08:24:41 +0800 |
---|---|---|
committer | Xavier Boudet <x-boudet@ti.com> | 2012-07-13 08:56:45 +0200 |
commit | aa274160351abe86c63a0801e588deee27a7c2df (patch) | |
tree | 4d63031aee6b953143539dba9cfbfa107525e583 | |
parent | 5c489b3ae24aa76457e0a58bfdd5de13b4d34e26 (diff) |
OMAP3630+: SmartReflex: Ensure worker canceled prior to free
sr_class1p5_disable may fail to cancel the worker if
omap_voltage_get_curr_vdata() returns NULL, as during
reboot.
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Sebastien Jan <s-jan@ti.com>
-rw-r--r-- | arch/arm/mach-omap2/smartreflex-class1p5.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/smartreflex-class1p5.c b/arch/arm/mach-omap2/smartreflex-class1p5.c index a6ebabd05b11..349cd55f36ba 100644 --- a/arch/arm/mach-omap2/smartreflex-class1p5.c +++ b/arch/arm/mach-omap2/smartreflex-class1p5.c @@ -454,6 +454,9 @@ static void sr_class1p5_reset_calib(struct voltagedomain *voltdm, bool reset, if (work_data->work_active) sr_class1p5_disable(voltdm, work_data->vdata, 0); + /* Ensure worker canceled. */ + cancel_delayed_work_sync(&work_data->work); + omap_voltage_calib_reset(voltdm); /* |