|
@@ -193,10 +193,12 @@ static void omap2_mbox_disable_irq(struct omap_mbox *mbox,
|
|
|
omap_mbox_type_t irq)
|
|
|
{
|
|
|
struct omap_mbox2_priv *p = mbox->priv;
|
|
|
- u32 l, bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit;
|
|
|
- l = mbox_read_reg(p->irqdisable);
|
|
|
- l &= ~bit;
|
|
|
- mbox_write_reg(l, p->irqdisable);
|
|
|
+ u32 bit = (irq == IRQ_TX) ? p->notfull_bit : p->newmsg_bit;
|
|
|
+
|
|
|
+ if (!cpu_is_omap44xx())
|
|
|
+ bit = mbox_read_reg(p->irqdisable) & ~bit;
|
|
|
+
|
|
|
+ mbox_write_reg(bit, p->irqdisable);
|
|
|
}
|
|
|
|
|
|
static void omap2_mbox_ack_irq(struct omap_mbox *mbox,
|