diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2011-11-07 13:19:04 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2011-11-08 16:42:05 +0000 |
commit | a571e2dc806b692e013a74419ced861e62ebaf71 (patch) | |
tree | 5b29b1bf99b8f54db37c7d7f1acfd8a3a6ef2577 | |
parent | abaa10d9704ca1f8dfaf23745785a0d425332bcc (diff) |
hw/omap_gpio: Fix infinite recursion when doing 8/16 bit reads2011.11.rebasing
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 <peter.maydell@linaro.org>
-rw-r--r-- | hw/omap_gpio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/omap_gpio.c b/hw/omap_gpio.c index d775df60f..d630748d6 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, |