summary refs log tree commit diff stats
path: root/hw/net/eepro100.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-06-29 12:45:54 +0100
committerPeter Maydell <peter.maydell@linaro.org>2014-06-29 12:45:54 +0100
commit76fbbec9315f8712d921411fbb4dad1fbcf1b151 (patch)
tree30b76243b8a5c98b64840c40e65597f94c08bfa0 /hw/net/eepro100.c
parent2d80e0ab4b4326e340df7e0bcc687b2bc63c68d8 (diff)
parent5e80dd223ded254b1802bdd6417ef118456eadce (diff)
downloadfocaccia-qemu-76fbbec9315f8712d921411fbb4dad1fbcf1b151.tar.gz
focaccia-qemu-76fbbec9315f8712d921411fbb4dad1fbcf1b151.zip
Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into staging
Net patches

# gpg: Signature made Fri 27 Jun 2014 14:10:57 BST using RSA key ID 81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
# gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"

* remotes/stefanha/tags/net-pull-request:
  hw/net/eepro100: Implement read-only bits in MDI registers
  net: move queue number into NICPeers
  net: L2TPv3 transport
  qemu-bridge-helper: Fix fd leak in main()

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/net/eepro100.c')
-rw-r--r--hw/net/eepro100.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/hw/net/eepro100.c b/hw/net/eepro100.c
index aaa3ff2360..3263e3fe90 100644
--- a/hw/net/eepro100.c
+++ b/hw/net/eepro100.c
@@ -1217,7 +1217,6 @@ static void eepro100_write_mdi(EEPRO100State *s)
                 break;
             case 1:            /* Status Register */
                 missing("not writable");
-                data = s->mdimem[reg];
                 break;
             case 2:            /* PHY Identification Register (Word 1) */
             case 3:            /* PHY Identification Register (Word 2) */
@@ -1230,7 +1229,8 @@ static void eepro100_write_mdi(EEPRO100State *s)
             default:
                 missing("not implemented");
             }
-            s->mdimem[reg] = data;
+            s->mdimem[reg] &= eepro100_mdi_mask[reg];
+            s->mdimem[reg] |= data & ~eepro100_mdi_mask[reg];
         } else if (opcode == 2) {
             /* MDI read */
             switch (reg) {