summaryrefslogtreecommitdiffstats
path: root/hw/rtl8139.c
diff options
context:
space:
mode:
authorAnthony Liguori2013-01-08 17:36:13 +0100
committerAnthony Liguori2013-01-08 17:36:13 +0100
commitc3dd94b129e222e00a4ed00689e11afdd85c740f (patch)
treeb189ff27f0ce3ae57887515fb5b4f9d6eea1127f /hw/rtl8139.c
parenttarget-mips: Fix helper and tests for dot/cross-dot product instructions (diff)
parentrtl8139: preserve link state across device reset (diff)
downloadqemu-c3dd94b129e222e00a4ed00689e11afdd85c740f.tar.gz
qemu-c3dd94b129e222e00a4ed00689e11afdd85c740f.tar.xz
qemu-c3dd94b129e222e00a4ed00689e11afdd85c740f.zip
Merge remote-tracking branch 'stefanha/net' into staging
* stefanha/net: rtl8139: preserve link state across device reset e1000: no need auto-negotiation if link was down net: clean up network at qemu process termination e1000: Discard oversized packets based on SBP|LPE Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/rtl8139.c')
-rw-r--r--hw/rtl8139.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/rtl8139.c b/hw/rtl8139.c
index c59ec6b6df..3e080621f6 100644
--- a/hw/rtl8139.c
+++ b/hw/rtl8139.c
@@ -1258,7 +1258,8 @@ static void rtl8139_reset(DeviceState *d)
s->BasicModeStatus = 0x7809;
//s->BasicModeStatus |= 0x0040; /* UTP medium */
s->BasicModeStatus |= 0x0020; /* autonegotiation completed */
- s->BasicModeStatus |= 0x0004; /* link is up */
+ /* preserve link state */
+ s->BasicModeStatus |= s->nic->nc.link_down ? 0 : 0x04;
s->NWayAdvert = 0x05e1; /* all modes, full duplex */
s->NWayLPAR = 0x05e1; /* all modes, full duplex */