On 28 August 2011 18:56, Peter Maydell <peter.mayd...@linaro.org> wrote: > 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.mayd...@linaro.org> > --- > hw/omap_gpmc.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/hw/omap_gpmc.c b/hw/omap_gpmc.c > index d16b28b..ff4d485 100644 > --- a/hw/omap_gpmc.c > +++ b/hw/omap_gpmc.c > @@ -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;
Should we be clearing s->irqst here instead of irqen? Good catch though. Cheers