From patchwork Tue Feb 14 03:10:19 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: RTL8139 hotplug is broken on windows 2008 sp2. Date: Mon, 13 Feb 2012 17:10:19 -0000 From: bo.novell@gmail.com X-Patchwork-Id: 141142 Message-Id: <1329189019-13710-1-git-send-email-bo.novell@gmail.com> To: qemu-devel@nongnu.org Cc: Bo Yang From: Bo Yang Windows 2008 sp2 tries to read mac address from phys and then write the read value into it. This patch is a workaround for the issue. Signed-off-by: Bo Yang --- hw/rtl8139.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/hw/rtl8139.c b/hw/rtl8139.c index 1668390..074a14a 100644 --- a/hw/rtl8139.c +++ b/hw/rtl8139.c @@ -3476,6 +3476,8 @@ static int pci_rtl8139_init(PCIDevice *dev) s->eeprom.contents[7] = s->conf.macaddr.a[0] | s->conf.macaddr.a[1] << 8; s->eeprom.contents[8] = s->conf.macaddr.a[2] | s->conf.macaddr.a[3] << 8; s->eeprom.contents[9] = s->conf.macaddr.a[4] | s->conf.macaddr.a[5] << 8; + /* workaround broken windows 2008 sp2 driver. */ + memcpy(s->phys, s->conf.macaddr.a, 6); s->nic = qemu_new_nic(&net_rtl8139_info, &s->conf, object_get_typename(OBJECT(dev)), dev->qdev.id, s);