diff options
author | Fernando Guzman Lugo <x0095840@ti.com> | 2010-02-12 20:02:32 -0500 |
---|---|---|
committer | Hiroshi DOYU <Hiroshi.DOYU@nokia.com> | 2010-08-04 08:50:15 -0400 |
commit | ad6d962735eb48dde1851269bdeaa042fdb39172 (patch) | |
tree | 2228bde2dc326da9b1129f4e4b749c34375afb7b /arch/arm/plat-omap/mailbox.c | |
parent | 9fe6206f400646a2322096b56c59891d530e8d51 (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.c | 3 |
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 | ||
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 | 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) |