diff options
author | Todd Poynor <toddpoynor@google.com> | 2012-07-13 08:24:41 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2012-07-13 08:24:41 +0800 |
commit | b1304121308b8a337e79f7ab14cb0f909d25ee0e (patch) | |
tree | fd5815d5735d2822e39ba3cc69aa7d7a66a66677 /arch | |
parent | a7f5adab55d386757c8b10e7be824326b078bfd3 (diff) | |
download | panda-b1304121308b8a337e79f7ab14cb0f909d25ee0e.tar.gz |
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>
Diffstat (limited to 'arch')
-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 a6ebabd05b1..349cd55f36b 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); /* |