summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brown2014-12-20 22:20:52 +0100
committerMichael Brown2014-12-20 22:33:59 +0100
commitf6a3bc0aa1f9cd81b3999efab15a648089872040 (patch)
treeb794513d5a9b487e7ff0d501d3f9a2bbdeb90a83
parent[hyperv] Assume that VMBus xfer page ranges correspond to RNDIS messages (diff)
downloadipxe-f6a3bc0aa1f9cd81b3999efab15a648089872040.tar.gz
ipxe-f6a3bc0aa1f9cd81b3999efab15a648089872040.tar.xz
ipxe-f6a3bc0aa1f9cd81b3999efab15a648089872040.zip
[rndis] Ignore start-of-day RNDIS_INDICATE_STATUS_MSG with status 0x40020006
Windows Server 2012 R2 generates an RNDIS_INDICATE_STATUS_MSG with a status code of 0x4002006. This status code does not appear to be documented anywhere within the sphere of human knowledge. Explicitly ignore this status code in order to avoid unnecessarily cluttering the display when RNDIS debugging is enabled. Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/include/ipxe/rndis.h2
-rw-r--r--src/net/rndis.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/src/include/ipxe/rndis.h b/src/include/ipxe/rndis.h
index bd6793e4..b7c9c064 100644
--- a/src/include/ipxe/rndis.h
+++ b/src/include/ipxe/rndis.h
@@ -191,6 +191,8 @@ enum rndis_status {
RNDIS_STATUS_MEDIA_CONNECT = 0x4001000bUL,
/** Device is disconnected from the medium */
RNDIS_STATUS_MEDIA_DISCONNECT = 0x4001000cUL,
+ /** Unknown start-of-day status code */
+ RNDIS_STATUS_WTF_WORLD = 0x40020006UL,
};
/** RNDIS keepalive message */
diff --git a/src/net/rndis.c b/src/net/rndis.c
index dde4fcdd..cd710a49 100644
--- a/src/net/rndis.c
+++ b/src/net/rndis.c
@@ -686,6 +686,10 @@ static void rndis_rx_status ( struct rndis_device *rndis,
netdev_link_down ( netdev );
break;
+ case RNDIS_STATUS_WTF_WORLD:
+ /* Ignore */
+ break;
+
default:
DBGC ( rndis, "RNDIS %s unexpected status %#08x:\n",
rndis->name, status );