diff options
author | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2009-05-18 21:44:10 +0200 |
---|---|---|
committer | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2009-05-18 21:44:10 +0200 |
commit | 96d7ddde19cd9617e377f30dbc23665c3ec03c78 (patch) | |
tree | 51fd244fbc5db8eab1fec126477d392459c95f28 | |
parent | 678fdca87a39eb7989b1c5ede0b1f36cfd3519b0 (diff) |
etrax: Don't keep the passed irq pointer.
Copy passed irq object at channel connect.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
-rw-r--r-- | hw/etraxfs_dma.c | 6 |
1 files 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; } |