diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index 1fba3c210ca..c9442ebc6f1 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -508,7 +508,7 @@ static void ich9_lpc_rcba_update(ICH9LPCState *lpc, uint32_t rcba_old) if (rcba_old & ICH9_LPC_RCBA_EN) { memory_region_del_subregion(get_system_memory(), &lpc->rcrb_mem); } - if (rcba & ICH9_LPC_RCBA_EN) { + if (rcba & ICH9_LPC_RCBA_EN && !lpc->rcrb_mem.container) { memory_region_add_subregion_overlap(get_system_memory(), rcba & ICH9_LPC_RCBA_BA_MASK, &lpc->rcrb_mem, 1);