Merger tracker:Fixed a USB bus driver logic error
[people/mcb30/edk2.git] / edk2 / MdeModulePkg / Bus / Usb / UsbBusDxe / UsbUtility.c
index 3badf89..cd3e72e 100644 (file)
@@ -956,8 +956,8 @@ MatchUsbClass (
     //\r
     // If class or subclass or protocol is 0, the counterparts in interface should be checked.\r
     //\r
-    if (DevDesc->DeviceClass == 0 &&\r
-        DevDesc->DeviceSubClass == 0 &&\r
+    if (DevDesc->DeviceClass == 0 ||\r
+        DevDesc->DeviceSubClass == 0 ||\r
         DevDesc->DeviceProtocol == 0) {\r
 \r
       if ((UsbClassDevicePathPtr->DeviceClass == ActIfDesc->InterfaceClass ||\r
@@ -969,7 +969,7 @@ MatchUsbClass (
         return TRUE;\r
       }\r
 \r
-    } else if ((UsbClassDevicePathPtr->DeviceClass != DevDesc->DeviceClass ||\r
+    } else if ((UsbClassDevicePathPtr->DeviceClass == DevDesc->DeviceClass ||\r
                                          UsbClassDevicePathPtr->DeviceClass == 0xff) &&\r
                (UsbClassDevicePathPtr->DeviceSubClass == DevDesc->DeviceSubClass ||\r
                                       UsbClassDevicePathPtr->DeviceSubClass == 0xff) &&\r