]> git.proxmox.com Git - mirror_edk2.git/commitdiff
EmbeddedPkg/Lan9118Dxe: Handle EFI_STATUS from PhySoftReset() & SoftReset()
authorOlivier Martin <olivier.martin@arm.com>
Fri, 4 Jul 2014 14:47:11 +0000 (14:47 +0000)
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 4 Jul 2014 14:47:11 +0000 (14:47 +0000)
- Make the function PhySoftReset() return EFI_STATUS
- EFI_STATUS was treated as a signed integer by the caller which is not correct.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15630 6f19259b-4bc3-4df7-8a09-765794883524

EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.c
EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.c
EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118DxeUtil.h

index 191215f7ca6cdd837948222c9aff11eff7376281..4146526592ec138fa152c38c4ec20db59791a8cd 100644 (file)
@@ -275,7 +275,8 @@ SnpInitialize (
   }\r
 \r
   // Initiate a PHY reset\r
-  if (PhySoftReset (PHY_RESET_PMT | PHY_RESET_CHECK_LINK, Snp) < 0) {\r
+  Status = PhySoftReset (PHY_RESET_PMT | PHY_RESET_CHECK_LINK, Snp);\r
+  if (EFI_ERROR (Status)) {\r
     Snp->Mode->State = EfiSimpleNetworkStopped;\r
     DEBUG ((EFI_D_WARN, "Warning: Link not ready after TimeOut. Check ethernet cable\n"));\r
     return EFI_NOT_STARTED;\r
@@ -375,9 +376,10 @@ SnpReset (
   IN        BOOLEAN Verification\r
   )\r
 {\r
-  UINT32 PmConf;\r
-  UINT32 HwConf;\r
-  UINT32 ResetFlags;\r
+  UINT32     PmConf;\r
+  UINT32     HwConf;\r
+  UINT32     ResetFlags;\r
+  EFI_STATUS Status;\r
 \r
   PmConf = 0;\r
   HwConf = 0;\r
@@ -398,7 +400,8 @@ SnpReset (
   }\r
 \r
   // Initiate a PHY reset\r
-  if (PhySoftReset (PHY_RESET_PMT | PHY_RESET_CHECK_LINK, Snp) < 0) {\r
+  Status = PhySoftReset (PHY_RESET_PMT | PHY_RESET_CHECK_LINK, Snp);\r
+  if (EFI_ERROR (Status)) {\r
     Snp->Mode->State = EfiSimpleNetworkStopped;\r
     return EFI_NOT_STARTED;\r
   }\r
@@ -410,7 +413,8 @@ SnpReset (
     ResetFlags |= SOFT_RESET_SELF_TEST;\r
   }\r
 \r
-  if (SoftReset (ResetFlags, Snp) < 0) {\r
+  Status = SoftReset (ResetFlags, Snp);\r
+  if (EFI_ERROR (Status)) {\r
     DEBUG ((EFI_D_WARN, "Warning: Soft Reset Failed: Hardware Error\n"));\r
     return EFI_DEVICE_ERROR;\r
   }\r
@@ -457,6 +461,8 @@ SnpShutdown (
   IN        EFI_SIMPLE_NETWORK_PROTOCOL* Snp\r
   )\r
 {\r
+  EFI_STATUS Status;\r
+\r
   // Check Snp Instance\r
   if (Snp == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -472,12 +478,16 @@ SnpShutdown (
   }\r
 \r
   // Initiate a PHY reset\r
-  PhySoftReset (PHY_RESET_PMT, Snp);\r
+  Status = PhySoftReset (PHY_RESET_PMT, Snp);\r
+  if (EFI_ERROR (Status)) {\r
+    return Status;\r
+  }\r
 \r
   // Initiate a software reset\r
-  if (SoftReset (0, Snp) < 0) {\r
+  Status = SoftReset (0, Snp);\r
+  if (EFI_ERROR (Status)) {\r
     DEBUG ((EFI_D_WARN, "Warning: Soft Reset Failed: Hardware Error\n"));\r
-    return EFI_DEVICE_ERROR;\r
+    return Status;\r
   }\r
 \r
   return EFI_SUCCESS;\r
@@ -941,7 +951,8 @@ SnpGetStatus (
     DEBUG ((EFI_D_ERROR, "LAN9118: Transmitter error. Restarting..."));\r
 \r
     // Initiate a software reset\r
-    if (SoftReset (0, Snp) < 0) {\r
+    Status = SoftReset (0, Snp);\r
+    if (EFI_ERROR (Status)) {\r
       DEBUG ((EFI_D_ERROR, "\n\tSoft Reset Failed: Hardware Error\n"));\r
       return EFI_DEVICE_ERROR;\r
     }\r
@@ -1160,18 +1171,19 @@ SnpReceive (
       OUT   UINT16 *Protocol              OPTIONAL\r
   )\r
 {\r
-  LAN9118_DRIVER *LanDriver;\r
-  UINT32 RxFifoStatus;\r
-  UINT32 NumPackets;\r
-  UINT32 RxCfgValue;\r
-  UINT32 PLength; // Packet length\r
-  UINT32 ReadLimit;\r
-  UINT32 Count;\r
-  UINT32 Padding;\r
-  UINT32 *RawData;\r
+  LAN9118_DRIVER  *LanDriver;\r
+  UINT32          RxFifoStatus;\r
+  UINT32          NumPackets;\r
+  UINT32          RxCfgValue;\r
+  UINT32          PLength; // Packet length\r
+  UINT32          ReadLimit;\r
+  UINT32          Count;\r
+  UINT32          Padding;\r
+  UINT32          *RawData;\r
   EFI_MAC_ADDRESS Dst;\r
   EFI_MAC_ADDRESS Src;\r
-  UINTN  DroppedFrames;\r
+  UINTN           DroppedFrames;\r
+  EFI_STATUS      Status;\r
 \r
   LanDriver = INSTANCE_FROM_SNP_THIS (Snp);\r
 \r
@@ -1301,7 +1313,8 @@ SnpReceive (
     DEBUG ((EFI_D_WARN, "Warning: Receiver Error. Restarting...\n"));\r
 \r
     // Initiate a software reset\r
-    if (SoftReset (0, Snp) < 0) {\r
+    Status = SoftReset (0, Snp);\r
+    if (EFI_ERROR (Status)) {\r
       DEBUG ((EFI_D_ERROR, "Error: Soft Reset Failed: Hardware Error.\n"));\r
       return EFI_DEVICE_ERROR;\r
     }\r
index d271dcd0dd52252c2323fe18dfd94b46f575dd53..a4a660f9752d96bf96d01bbcada1d0de6414f0c2 100644 (file)
@@ -485,7 +485,7 @@ SoftReset (
 \r
 \r
 // Perform PHY software reset\r
-INT32\r
+EFI_STATUS\r
 PhySoftReset (\r
   UINT32 Flags,\r
   EFI_SIMPLE_NETWORK_PROTOCOL *Snp\r
@@ -524,7 +524,7 @@ PhySoftReset (
 \r
     // Timed out\r
     if (LinkTo <= 0) {\r
-      return -1;\r
+      return EFI_TIMEOUT;\r
     }\r
   }\r
 \r
@@ -535,7 +535,7 @@ PhySoftReset (
     MmioWrite32 (LAN9118_INT_STS, 0xFFFFFFFF);\r
   }\r
 \r
-  return 0;\r
+  return EFI_SUCCESS;\r
 }\r
 \r
 \r
index e75bbad3c0427bb8c2ec09a8d954831bee26e20b..5bc4501c1ad346c0d20628356b37445b53e27467 100644 (file)
@@ -119,7 +119,7 @@ SoftReset (
 #define PHY_SOFT_RESET_CLEAR_INT                        BIT3\r
 \r
 // Perform PHY software reset\r
-INT32\r
+EFI_STATUS\r
 PhySoftReset (\r
   UINT32 Flags,\r
   EFI_SIMPLE_NETWORK_PROTOCOL *Snp\r