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 <peter.maydell@linaro.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
371572dff4
commit
e1556ad5b8
@ -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)
|
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,
|
static void omap2_gpio_module_writep(void *opaque, target_phys_addr_t addr,
|
||||||
|
Loading…
Reference in New Issue
Block a user