\r
#include "Lan9118Dxe.h"\r
\r
-STATIC EFI_MAC_ADDRESS mZeroMac = { 0 };\r
+STATIC EFI_MAC_ADDRESS mZeroMac = { { 0 } };\r
\r
/**\r
This internal function reverses bits for 32bit data.\r
(UINT32)(Mac->Addr[4] & 0xFF) |\r
((Mac->Addr[5] & 0xFF) << 8)\r
);\r
-\r
- CopyMem (&Snp->Mode->CurrentAddress, &Mac, NET_ETHER_ADDR_LEN);\r
}\r
\r
VOID\r
DEBUG ((EFI_D_WARN, "Warning: using driver-default MAC address\n"));\r
DefaultMacAddress = FixedPcdGet64 (PcdLan9118DefaultMacAddress);\r
Lan9118SetMacAddress((EFI_MAC_ADDRESS *) &DefaultMacAddress, Snp);\r
+ CopyMem (&Snp->Mode->CurrentAddress, &DefaultMacAddress, NET_ETHER_ADDR_LEN);\r
}\r
} else {\r
// Store the MAC address that was loaded from EEPROM\r
\r
\r
// Perform PHY software reset\r
-INT32\r
+EFI_STATUS\r
PhySoftReset (\r
UINT32 Flags,\r
EFI_SIMPLE_NETWORK_PROTOCOL *Snp\r
)\r
{\r
UINT32 PmtCtrl = 0;\r
- UINT32 LinkTo = 0;\r
\r
// PMT PHY reset takes precedence over BCR\r
if (Flags & PHY_RESET_PMT) {\r
gBS->Stall (LAN9118_STALL);\r
}\r
// PHY Basic Control Register reset\r
- } else if (Flags & PHY_RESET_PMT) {\r
+ } else if (Flags & PHY_RESET_BCR) {\r
IndirectPHYWrite32 (PHY_INDEX_BASIC_CTRL, PHYCR_RESET);\r
\r
// Wait for completion\r
}\r
}\r
\r
- // Check the link status\r
- if (Flags & PHY_RESET_CHECK_LINK) {\r
- LinkTo = 100000; // 2 second (could be 50% more)\r
- while (EFI_ERROR (CheckLinkStatus (0, Snp)) && (LinkTo > 0)) {\r
- gBS->Stall (LAN9118_STALL);\r
- LinkTo--;\r
- }\r
-\r
- // Timed out\r
- if (LinkTo <= 0) {\r
- return -1;\r
- }\r
- }\r
-\r
// Clear and acknowledge all interrupts\r
if (Flags & PHY_SOFT_RESET_CLEAR_INT) {\r
MmioWrite32 (LAN9118_INT_EN, 0);\r
MmioWrite32 (LAN9118_INT_STS, 0xFFFFFFFF);\r
}\r
\r
- return 0;\r
+ return EFI_SUCCESS;\r
}\r
\r
\r