aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/mailbox.c
diff options
context:
space:
mode:
authorFernando Guzman Lugo <x0095840@ti.com>2010-02-12 20:07:14 -0500
committerHiroshi DOYU <Hiroshi.DOYU@nokia.com>2010-08-04 08:50:15 -0400
commit0e828e8c2bab6d30649447eea68686413c92d340 (patch)
tree53b7e9eaf27b84beed37042aeb770423427b34ef /arch/arm/plat-omap/mailbox.c
parentad6d962735eb48dde1851269bdeaa042fdb39172 (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.c2
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)
299static void omap_mbox_fini(struct omap_mbox *mbox) 299static 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