From 96d7ddde19cd9617e377f30dbc23665c3ec03c78 Mon Sep 17 00:00:00 2001 From: "Edgar E. Iglesias" Date: Mon, 18 May 2009 21:44:10 +0200 Subject: [PATCH] etrax: Don't keep the passed irq pointer. Copy passed irq object at channel connect. Signed-off-by: Edgar E. Iglesias --- hw/etraxfs_dma.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/etraxfs_dma.c b/hw/etraxfs_dma.c index 12dd78db27..ba44e0d636 100644 --- a/hw/etraxfs_dma.c +++ b/hw/etraxfs_dma.c @@ -165,7 +165,7 @@ enum dma_ch_state struct fs_dma_channel { - qemu_irq *irq; + qemu_irq irq; struct etraxfs_dma_client *client; /* Internal status. */ @@ -392,7 +392,7 @@ static void channel_update_irq(struct fs_dma_ctrl *ctrl, int c) c, ctrl->channels[c].regs[R_MASKED_INTR])); - qemu_set_irq(ctrl->channels[c].irq[0], + qemu_set_irq(ctrl->channels[c].irq, !!ctrl->channels[c].regs[R_MASKED_INTR]); } @@ -716,7 +716,7 @@ int etraxfs_dmac_input(struct etraxfs_dma_client *client, void etraxfs_dmac_connect(void *opaque, int c, qemu_irq *line, int input) { struct fs_dma_ctrl *ctrl = opaque; - ctrl->channels[c].irq = line; + ctrl->channels[c].irq = *line; ctrl->channels[c].input = input; } -- GitLab