diff --git a/target/linux/omap24xx/patches-3.1/254-cbus-retu-tahvo-irq-mask-init-fix.patch b/target/linux/omap24xx/patches-3.1/254-cbus-retu-tahvo-irq-mask-init-fix.patch
new file mode 100644
index 0000000000000000000000000000000000000000..740b275321d6c4be4da8bad90f052604a448ac02
--- /dev/null
+++ b/target/linux/omap24xx/patches-3.1/254-cbus-retu-tahvo-irq-mask-init-fix.patch
@@ -0,0 +1,28 @@
+Index: linux-3.1.1/drivers/cbus/retu.c
+===================================================================
+--- linux-3.1.1.orig/drivers/cbus/retu.c	2011-11-17 21:19:01.758502241 +0100
++++ linux-3.1.1/drivers/cbus/retu.c	2011-11-17 21:53:32.261883947 +0100
+@@ -466,7 +466,8 @@ static int __devinit retu_probe(struct p
+ 			(rev >> 4) & 0x07, rev & 0x0f);
+ 
+ 	/* Mask all RETU interrupts */
+-	__retu_write_reg(retu, RETU_REG_IMR, 0xffff);
++	retu->mask = 0xFFFF;
++	__retu_write_reg(retu, RETU_REG_IMR, retu->mask);
+ 
+ 	ret = request_threaded_irq(retu->irq, NULL, retu_irq_handler,
+ 			IRQF_ONESHOT, "retu", retu);
+Index: linux-3.1.1/drivers/cbus/tahvo.c
+===================================================================
+--- linux-3.1.1.orig/drivers/cbus/tahvo.c	2011-11-17 21:19:01.766502210 +0100
++++ linux-3.1.1/drivers/cbus/tahvo.c	2011-11-17 21:53:52.213800321 +0100
+@@ -361,7 +361,8 @@ static int __devinit tahvo_probe(struct
+ 			(rev >> 4) & 0x0f, rev & 0x0f);
+ 
+ 	/* Mask all TAHVO interrupts */
+-	__tahvo_write_reg(tahvo, TAHVO_REG_IMR, 0xffff);
++	tahvo->mask = 0xFFFF;
++	__tahvo_write_reg(tahvo, TAHVO_REG_IMR, tahvo->mask);
+ 
+ 	ret = request_threaded_irq(irq, NULL, tahvo_irq_handler,
+ 			IRQF_TRIGGER_RISING | IRQF_ONESHOT,