diff options
author | Fernando Guzman Lugo <x0095840@ti.com> | 2010-02-12 20:07:14 -0500 |
---|---|---|
committer | Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | 2010-08-04 08:50:15 -0400 |
commit | 0e828e8c2bab6d30649447eea68686413c92d340 (patch) | |
tree | 53b7e9eaf27b84beed37042aeb770423427b34ef /arch/arm/plat-omap/mailbox.c | |
parent | ad6d962735eb48dde1851269bdeaa042fdb39172 (diff) |
Mailbox: flush pending deferred works before freeing blk queue
flush pending deferred works before freeing blk_queue to prevent
any attempt of access to blk_queue after it was freed
Signed-off-by: Fernando Guzman Lugo <x0095840@ti.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Diffstat (limited to 'arch/arm/plat-omap/mailbox.c')
-rw-r--r-- | arch/arm/plat-omap/mailbox.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c index 252a58698ef7..77c23f5a0037 100644 --- a/arch/arm/plat-omap/mailbox.c +++ b/arch/arm/plat-omap/mailbox.c | |||
@@ -299,6 +299,8 @@ static int omap_mbox_startup(struct omap_mbox *mbox) | |||
299 | static void omap_mbox_fini(struct omap_mbox *mbox) | 299 | static void omap_mbox_fini(struct omap_mbox *mbox) |
300 | { | 300 | { |
301 | free_irq(mbox->irq, mbox); | 301 | free_irq(mbox->irq, mbox); |
302 | tasklet_kill(&mbox->txq->tasklet); | ||
303 | flush_work(&mbox->rxq->work); | ||
302 | mbox_queue_free(mbox->txq); | 304 | mbox_queue_free(mbox->txq); |
303 | mbox_queue_free(mbox->rxq); | 305 | mbox_queue_free(mbox->rxq); |
304 | 306 | ||