]> xenbits.xensource.com Git - qemu-xen-4.2-testing.git/commitdiff
Fix lance segfaults
authorPaul Brook <paul@codesourcery.com>
Fri, 22 May 2009 16:44:32 +0000 (17:44 +0100)
committerPaul Brook <paul@codesourcery.com>
Fri, 22 May 2009 16:44:32 +0000 (17:44 +0100)
Signed-off-by: Paul Brook <paul@codesourcery.com>
hw/pcnet.c

index 1f8e04b5e86aa7013537a58f3d5043fb6037229b..2c22f4a508d332b17bb1fa5d92ae217534b89c84 100644 (file)
@@ -2068,25 +2068,28 @@ static void pci_pcnet_init(PCIDevice *pci_dev)
 
 static void parent_lance_reset(void *opaque, int irq, int level)
 {
+    SysBusPCNetState *d = opaque;
     if (level)
-        pcnet_h_reset(opaque);
+        pcnet_h_reset(&d->state);
 }
 
 static void lance_mem_writew(void *opaque, target_phys_addr_t addr,
                              uint32_t val)
 {
+    SysBusPCNetState *d = opaque;
 #ifdef PCNET_DEBUG_IO
     printf("lance_mem_writew addr=" TARGET_FMT_plx " val=0x%04x\n", addr,
            val & 0xffff);
 #endif
-    pcnet_ioport_writew(opaque, addr, val & 0xffff);
+    pcnet_ioport_writew(&d->state, addr, val & 0xffff);
 }
 
 static uint32_t lance_mem_readw(void *opaque, target_phys_addr_t addr)
 {
+    SysBusPCNetState *d = opaque;
     uint32_t val;
 
-    val = pcnet_ioport_readw(opaque, addr);
+    val = pcnet_ioport_readw(&d->state, addr);
 #ifdef PCNET_DEBUG_IO
     printf("lance_mem_readw addr=" TARGET_FMT_plx " val = 0x%04x\n", addr,
            val & 0xffff);