\r
ETH_COPY_NETWORK_ADDRESS( p_adapter->params.conf_mac.addr, p_adapter->mac.addr );\r
/* If there is a NetworkAddress override in registry, use it */\r
- if( (status == NDIS_STATUS_SUCCESS) && (len == HW_ADDR_LEN) )\r
+ if( (len == HW_ADDR_LEN) && (mac != NULL) )\r
{\r
if( ETH_IS_MULTICAST(mac) || ETH_IS_BROADCAST(mac) ||\r
!ETH_IS_LOCALLY_ADMINISTERED(mac) )\r
\r
p_adapter->params.xfer_block_size = (sizeof(eth_hdr_t) + p_adapter->params.payload_mtu);\r
NdisReadNetworkAddress( &status, p_mac, p_len, h_config );\r
-\r
+ if (status != NDIS_STATUS_SUCCESS) {\r
+ // Don't rely on NDIS, zero the values\r
+ *p_mac = NULL;\r
+ *p_len = 0;\r
+ }\r
\r
NdisCloseConfiguration( h_config );\r
\r
IPOIB_EXIT( IPOIB_DBG_INIT );\r
- return status;\r
+ return NDIS_STATUS_SUCCESS;\r
}\r
\r
\r