@@ -2195,7 +2195,7 @@ static const IDEDMAOps ide_dma_nop_ops = {
void ide_register_restart_cb(IDEBus *bus)
{
- qemu_add_vm_change_state_handler(bus->dma->ops->restart_cb, bus->dma);
+ qemu_add_vm_change_state_handler(bus->dma->ops->restart_cb, bus);
}
static IDEDMA ide_dma_nop = {
@@ -199,8 +199,8 @@ static void ide_restart_dma(IDEState *s, enum ide_dma_cmd dma_cmd)
/* TODO This should be common IDE code */
static void bmdma_restart_bh(void *opaque)
{
- BMDMAState *bm = opaque;
- IDEBus *bus = bm->bus;
+ IDEBus *bus = opaque;
+ BMDMAState *bm = DO_UPCAST(BMDMAState, dma, bus->dma);
IDEState *s;
bool is_read;
int error_status;
@@ -240,8 +240,8 @@ static void bmdma_restart_bh(void *opaque)
static void bmdma_restart_cb(void *opaque, int running, RunState state)
{
- IDEDMA *dma = opaque;
- BMDMAState *bm = DO_UPCAST(BMDMAState, dma, dma);
+ IDEBus *bus = opaque;
+ BMDMAState *bm = DO_UPCAST(BMDMAState, dma, bus->dma);
if (!running)
return;
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- hw/ide/core.c | 2 +- hw/ide/pci.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-)