summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/mailbox.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-03-10 14:00:44 -0800
committerDavid S. Miller <davem@davemloft.net>2011-03-10 14:00:44 -0800
commitbef6e7e76868ab454d5e83635a4a7a1961c74fb5 (patch)
tree1a7417b9dde942cc71f87c02688c6ac6b0e57a72 /arch/arm/mach-omap2/mailbox.c
parentdcbcdf22f500ac6e4ec06485341024739b9dc241 (diff)
parent9179746652faf0aba07b8b7f770dcf29892a24c6 (diff)
downloadlwn-bef6e7e76868ab454d5e83635a4a7a1961c74fb5.tar.gz
lwn-bef6e7e76868ab454d5e83635a4a7a1961c74fb5.zip
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Diffstat (limited to 'arch/arm/mach-omap2/mailbox.c')
-rw-r--r--arch/arm/mach-omap2/mailbox.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index 0a585dfa9874..24b88504df0f 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,
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,