]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/PciBusNoEnumerationDxe/PciCommand.c
remove work around, since we had added return value check.
[mirror_edk2.git] / DuetPkg / PciBusNoEnumerationDxe / PciCommand.c
index 61393edeb4e7129d7eff445c06aaa51700443813..ea00087cce8d833f913a44d68e0e6b0120810776 100644 (file)
@@ -121,7 +121,7 @@ Returns:
           &OldCommand\r
           );\r
 \r
-  OldCommand |= Command;\r
+  OldCommand = (UINT16) (OldCommand | Command);\r
 \r
   return PciIo->Pci.Write (\r
               PciIo, \r
@@ -165,7 +165,7 @@ Returns:
           &OldCommand\r
           );\r
 \r
-  OldCommand &= ~(Command);\r
+  OldCommand = (UINT16) (OldCommand & ~(Command));\r
 \r
   return PciIo->Pci.Write (\r
             PciIo, \r
@@ -244,7 +244,7 @@ Returns:
           &OldCommand\r
           );\r
 \r
-  OldCommand |= Command;\r
+  OldCommand = (UINT16) (OldCommand | Command);\r
 \r
   return PciIo->Pci.Write (\r
               PciIo, \r
@@ -287,7 +287,7 @@ Returns:
           &OldCommand\r
           );\r
 \r
-  OldCommand &= ~(Command);\r
+  OldCommand = (UINT16) (OldCommand & ~(Command));\r
 \r
   return PciIo->Pci.Write (\r
               PciIo, \r
@@ -392,7 +392,6 @@ Returns:
   UINT8   CapabilityPtr;\r
   UINT16  CapabilityEntry;\r
   UINT8   CapabilityID;\r
-  UINT32  Temp;\r
 \r
   //\r
   // To check the capability of this device supports\r
@@ -419,25 +418,15 @@ Returns:
 \r
       PciIoDevice->PciIo.Pci.Read (\r
                                &PciIoDevice->PciIo,\r
-                               EfiPciIoWidthUint32,\r
+                               EfiPciIoWidthUint8,\r
                                PCI_CAPBILITY_POINTER_OFFSET,\r
                                1,\r
-                               &Temp\r
+                               &CapabilityPtr\r
                                );\r
-      //\r
-      // Do not get byte read directly, because some PCI card will return 0xFF\r
-      // when perform PCI-Express byte read, while return correct 0x00 \r
-      // when perform PCI-Express dword read, or PCI dword read.\r
-      //\r
-      CapabilityPtr = (UINT8)Temp;\r
     }\r
   }\r
 \r
-  while (CapabilityPtr > 0x3F) {\r
-    //\r
-    // Mask it to DWORD alignment per PCI spec\r
-    //\r
-    CapabilityPtr &= 0xFC;\r
+  while ((CapabilityPtr >= 0x40) && ((CapabilityPtr & 0x03) == 0x00)) {\r
     PciIoDevice->PciIo.Pci.Read (\r
                              &PciIoDevice->PciIo,\r
                              EfiPciIoWidthUint16,\r