diff options
Diffstat (limited to 'arch/arm/mach-omap2/mailbox.c')
-rw-r--r-- | arch/arm/mach-omap2/mailbox.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c index 6e15e3d7c65e..86d564a640bb 100644 --- a/arch/arm/mach-omap2/mailbox.c +++ b/arch/arm/mach-omap2/mailbox.c | |||
@@ -138,10 +138,12 @@ static void omap2_mbox_disable_irq(struct omap_mbox *mbox, | |||
138 | omap_mbox_type_t irq) | 138 | omap_mbox_type_t irq) |
139 | { | 139 | { |
140 | struct omap_mbox2_priv *p = mbox->priv; | 140 | struct omap_mbox2_priv *p = mbox->priv; |
141 | u32 l, bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; | 141 | u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; |
142 | l = mbox_read_reg(p->irqdisable); | 142 | |
143 | l &= ~bit; | 143 | if (!cpu_is_omap44xx()) |
144 | mbox_write_reg(l, p->irqdisable); | 144 | bit = mbox_read_reg(p->irqdisable) & ~bit; |
145 | |||
146 | mbox_write_reg(bit, p->irqdisable); | ||
145 | } | 147 | } |
146 | 148 | ||
147 | static void omap2_mbox_ack_irq(struct omap_mbox *mbox, | 149 | static void omap2_mbox_ack_irq(struct omap_mbox *mbox, |