diff options
author | Anthony Liguori <aliguori@us.ibm.com> | 2011-09-20 15:21:03 -0500 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2011-09-20 15:21:03 -0500 |
commit | c8af89af96dac46922f6664cf0ca238a6b1adf0d (patch) | |
tree | 1f484f739ba85f5f9d71c3128abcbf99108a8c7c /hw/ide/ahci.c | |
parent | 39ba59c21bdc3b1dda09219919b87fe001e7d5d9 (diff) | |
parent | 16a06b24306b5733a4ef2e585964838e47735a54 (diff) |
Merge remote-tracking branch 'kwolf/for-anthony' into staging
Diffstat (limited to 'hw/ide/ahci.c')
-rw-r--r-- | hw/ide/ahci.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c index b8132369ad..226230ca2b 100644 --- a/hw/ide/ahci.c +++ b/hw/ide/ahci.c @@ -499,10 +499,7 @@ static void ahci_reset_port(AHCIState *s, int port) ide_bus_reset(&d->port); ide_state->ncq_queues = AHCI_MAX_CMDS; - pr->irq_stat = 0; - pr->irq_mask = 0; pr->scr_stat = 0; - pr->scr_ctl = 0; pr->scr_err = 0; pr->scr_act = 0; d->busy_slot = -1; @@ -1159,12 +1156,17 @@ void ahci_uninit(AHCIState *s) void ahci_reset(void *opaque) { struct AHCIPCIState *d = opaque; + AHCIPortRegs *pr; int i; d->ahci.control_regs.irqstatus = 0; d->ahci.control_regs.ghc = 0; for (i = 0; i < d->ahci.ports; i++) { + pr = &d->ahci.dev[i].port_regs; + pr->irq_stat = 0; + pr->irq_mask = 0; + pr->scr_ctl = 0; ahci_reset_port(&d->ahci, i); } } |