OSDN Git Service

pcnet: Extend hardware reset
authorJan Kiszka <jan.kiszka@siemens.com>
Thu, 8 Oct 2009 15:53:53 +0000 (17:53 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Thu, 15 Oct 2009 14:32:04 +0000 (09:32 -0500)
Update the IRQ state and stop the poll timer on reset. Moreover,
register the reset function with qemu.

Patchworks-ID: 35462
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/pcnet.c

index afeaca7..fecbff7 100644 (file)
@@ -1624,6 +1624,8 @@ static void pcnet_h_reset(void *opaque)
     s->bcr[BCR_PLAT ] = 0xff06;
 
     pcnet_s_reset(s);
+    pcnet_update_irq(s);
+    pcnet_poll_timer(s);
 }
 
 static void pcnet_aprom_writeb(void *opaque, uint32_t addr, uint32_t val)
@@ -1966,6 +1968,7 @@ static int pcnet_common_init(DeviceState *dev, PCNetState *s,
     s->vc = qdev_get_vlan_client(dev,
                                  pcnet_can_receive, pcnet_receive, NULL,
                                  cleanup, s);
+    qemu_register_reset(pcnet_h_reset, s);
     pcnet_h_reset(s);
     return 0;
 }