diff options
Diffstat (limited to 'sound/aoa/core/gpio-feature.c')
-rw-r--r-- | sound/aoa/core/gpio-feature.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sound/aoa/core/gpio-feature.c b/sound/aoa/core/gpio-feature.c index de8e03afa97..faa31749054 100644 --- a/sound/aoa/core/gpio-feature.c +++ b/sound/aoa/core/gpio-feature.c | |||
@@ -287,10 +287,9 @@ static void ftr_gpio_exit(struct gpio_runtime *rt) | |||
287 | free_irq(linein_detect_irq, &rt->line_in_notify); | 287 | free_irq(linein_detect_irq, &rt->line_in_notify); |
288 | if (rt->line_out_notify.gpio_private) | 288 | if (rt->line_out_notify.gpio_private) |
289 | free_irq(lineout_detect_irq, &rt->line_out_notify); | 289 | free_irq(lineout_detect_irq, &rt->line_out_notify); |
290 | cancel_delayed_work(&rt->headphone_notify.work); | 290 | cancel_delayed_work_sync(&rt->headphone_notify.work); |
291 | cancel_delayed_work(&rt->line_in_notify.work); | 291 | cancel_delayed_work_sync(&rt->line_in_notify.work); |
292 | cancel_delayed_work(&rt->line_out_notify.work); | 292 | cancel_delayed_work_sync(&rt->line_out_notify.work); |
293 | flush_scheduled_work(); | ||
294 | mutex_destroy(&rt->headphone_notify.mutex); | 293 | mutex_destroy(&rt->headphone_notify.mutex); |
295 | mutex_destroy(&rt->line_in_notify.mutex); | 294 | mutex_destroy(&rt->line_in_notify.mutex); |
296 | mutex_destroy(&rt->line_out_notify.mutex); | 295 | mutex_destroy(&rt->line_out_notify.mutex); |