diff options
| -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 0a585dfa987..24b88504df0 100644 --- a/arch/arm/mach-omap2/mailbox.c +++ b/arch/arm/mach-omap2/mailbox.c | |||
| @@ -193,10 +193,12 @@ static void omap2_mbox_disable_irq(struct omap_mbox *mbox, | |||
| 193 | omap_mbox_type_t irq) | 193 | omap_mbox_type_t irq) |
| 194 | { | 194 | { |
| 195 | struct omap_mbox2_priv *p = mbox->priv; | 195 | struct omap_mbox2_priv *p = mbox->priv; |
| 196 | u32 l, bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; | 196 | u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit; |
| 197 | l = mbox_read_reg(p->irqdisable); | 197 | |
| 198 | l &= ~bit; | 198 | if (!cpu_is_omap44xx()) |
| 199 | mbox_write_reg(l, p->irqdisable); | 199 | bit = mbox_read_reg(p->irqdisable) & ~bit; |
| 200 | |||
| 201 | mbox_write_reg(bit, p->irqdisable); | ||
| 200 | } | 202 | } |
| 201 | 203 | ||
| 202 | static void omap2_mbox_ack_irq(struct omap_mbox *mbox, | 204 | static void omap2_mbox_ack_irq(struct omap_mbox *mbox, |
