]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/IncompatiblePci: Use MAX_UINTN to match any IDs
authorRuiyu Ni <ruiyu.ni@intel.com>
Thu, 26 Jan 2017 05:59:20 +0000 (13:59 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Fri, 10 Feb 2017 08:52:00 +0000 (16:52 +0800)
When the VendorId/DeviceId/RevisionId/SubsystemVendorId
/SubsystemDeviceId is MAX_UINTN, IncompatiblePciDeviceSupport
driver doesn't use it to match any IDs.
The patch fixes this bug.
Since PciBus driver always calls IncompatiblePciDeviceSupport
using IDs read from HW, MAX_UINTN is never passed to this
driver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.c

index bf0d47a22496bd61c33305ca8b3d663ee5dd8c9f..149662d14dc17f8c22c3a97cf7e791ddb3c6debf 100644 (file)
@@ -283,31 +283,31 @@ PCheckDevice (
       //\r
       // See if the Header matches the parameters passed in\r
       //\r
-      if (Header->VendorId != MAX_UINT64) {\r
+      if ((Header->VendorId != MAX_UINT64) && (VendorId != MAX_UINTN)) {\r
         if (Header->VendorId != VendorId) {\r
           continue;\r
         }\r
       }\r
 \r
-      if (Header->DeviceId != MAX_UINT64) {\r
+      if ((Header->DeviceId != MAX_UINT64) && (DeviceId != MAX_UINTN)) {\r
         if (DeviceId != Header->DeviceId) {\r
           continue;\r
         }\r
       }\r
 \r
-      if (Header->RevisionId != MAX_UINT64) {\r
+      if ((Header->RevisionId != MAX_UINT64) && (RevisionId != MAX_UINTN)) {\r
         if (RevisionId != Header->RevisionId) {\r
           continue;\r
         }\r
       }\r
 \r
-      if (Header->SubsystemVendorId != MAX_UINT64) {\r
+      if ((Header->SubsystemVendorId != MAX_UINT64) && (SubsystemVendorId != MAX_UINTN)) {\r
         if (SubsystemVendorId != Header->SubsystemVendorId) {\r
           continue;\r
         }\r
       }\r
 \r
-      if (Header->SubsystemDeviceId != MAX_UINT64) {\r
+      if ((Header->SubsystemDeviceId != MAX_UINT64) && (SubsystemDeviceId != MAX_UINTN)) {\r
         if (SubsystemDeviceId != Header->SubsystemDeviceId) {\r
           continue;\r
         }\r