Index: head/sys/arm/broadcom/bcm2835/bcm2835_intr.c
===================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2835_intr.c
+++ head/sys/arm/broadcom/bcm2835/bcm2835_intr.c
@@ -163,7 +163,9 @@
 		irq = 0;
 
 #ifdef SOC_BCM2836
-	if ((ret = bcm2836_get_next_irq(irq)) >= 0)
+	if ((ret = bcm2836_get_next_irq(irq)) < 0)
+		return (-1);
+	if (ret != BCM2836_GPU_IRQ)
 		return (ret + BANK3_START);
 #endif
 
Index: head/sys/arm/broadcom/bcm2835/bcm2836.h
===================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2836.h
+++ head/sys/arm/broadcom/bcm2835/bcm2836.h
@@ -30,6 +30,8 @@
 #ifndef _BCM2815_BCM2836_H
 #define	_BCM2815_BCM2836_H
 
+#define	BCM2836_GPU_IRQ		8
+
 int bcm2836_get_next_irq(int);
 void bcm2836_mask_irq(uintptr_t);
 void bcm2836_unmask_irq(uintptr_t);
Index: head/sys/arm/broadcom/bcm2835/bcm2836.c
===================================================================
--- head/sys/arm/broadcom/bcm2835/bcm2836.c
+++ head/sys/arm/broadcom/bcm2835/bcm2836.c
@@ -52,7 +52,7 @@
 #define	ARM_LOCAL_INT_TIMER(n)		(0x40 + (n) * 4)
 #define	ARM_LOCAL_INT_MAILBOX(n)	(0x50 + (n) * 4)
 #define	ARM_LOCAL_INT_PENDING(n)	(0x60 + (n) * 4)
-#define	 INT_PENDING_MASK		0x01f
+#define	 INT_PENDING_MASK		0x011f
 #define	MAILBOX0_IRQ			4
 #define	MAILBOX0_IRQEN			(1 << 0)