From e1556ad5b8143a15c26067c3862fe20631c0053f Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Mon, 7 Nov 2011 13:25:45 +0000 Subject: hw/omap_gpio: Fix infinite recursion when doing 8/16 bit reads Fix a long-standing bug which meant that any attempt to do an 8 or 16 bit read from the OMAP GPIO module would cause qemu to crash due to an infinite recursion. Signed-off-by: Peter Maydell Signed-off-by: Anthony Liguori --- hw/omap_gpio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/omap_gpio.c b/hw/omap_gpio.c index 42e59c3a53..30630a8aa9 100644 --- a/hw/omap_gpio.c +++ b/hw/omap_gpio.c @@ -510,7 +510,7 @@ static void omap2_gpio_module_write(void *opaque, target_phys_addr_t addr, static uint32_t omap2_gpio_module_readp(void *opaque, target_phys_addr_t addr) { - return omap2_gpio_module_readp(opaque, addr) >> ((addr & 3) << 3); + return omap2_gpio_module_read(opaque, addr & ~3) >> ((addr & 3) << 3); } static void omap2_gpio_module_writep(void *opaque, target_phys_addr_t addr, -- cgit v1.2.1