aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/mailbox.c
diff options
context:
space:
mode:
authorFernando Guzman Lugo <x0095840@ti.com>2010-02-12 20:02:32 -0500
committerHiroshi DOYU <Hiroshi.DOYU@nokia.com>2010-08-04 08:50:15 -0400
commitad6d962735eb48dde1851269bdeaa042fdb39172 (patch)
tree2228bde2dc326da9b1129f4e4b749c34375afb7b /arch/arm/plat-omap/mailbox.c
parent9fe6206f400646a2322096b56c59891d530e8d51 (diff)
Mailbox: free mailbox interrupt before freeing blk queue
Free interrupt before freeing blk_queue to avoid 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.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c
index 08a2df766289..252a58698ef7 100644
--- a/arch/arm/plat-omap/mailbox.c
+++ b/arch/arm/plat-omap/mailbox.c
@@ -298,11 +298,10 @@ static int omap_mbox_startup(struct omap_mbox *mbox)
298 298
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 mbox_queue_free(mbox->txq); 302 mbox_queue_free(mbox->txq);
302 mbox_queue_free(mbox->rxq); 303 mbox_queue_free(mbox->rxq);
303 304
304 free_irq(mbox->irq, mbox);
305
306 if (unlikely(mbox->ops->shutdown)) { 305 if (unlikely(mbox->ops->shutdown)) {
307 write_lock(&mboxes_lock); 306 write_lock(&mboxes_lock);
308 if (mbox_configured > 0) 307 if (mbox_configured > 0)