omap_gpmc: GPMC_IRQSTATUS is write-one-to-clear
authorPeter Maydell <peter.maydell@linaro.org>
Sun, 28 Aug 2011 16:22:18 +0000 (16:22 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Sun, 28 Aug 2011 16:37:12 +0000 (16:37 +0000)
Fix a bug in the handling of writes to GPMC_IRQSTATUS:
it behaves as "write one to clear, writing zero is ignored".

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/omap_gpmc.c

index d16b28b..ff4d485 100644 (file)
@@ -284,7 +284,7 @@ static void omap_gpmc_write(void *opaque, target_phys_addr_t addr,
         break;
 
     case 0x018:        /* GPMC_IRQSTATUS */
-        s->irqen = ~value;
+        s->irqen &= ~value;
         omap_gpmc_int_update(s);
         break;