+ //\r
+ // If the request completed sucessfully and the Direction of the request is\r
+ // EfiUsbDataIn or EfiUsbDataOut, then make sure the actual number of bytes\r
+ // transfered is the same as the number of bytes requested. If a different\r
+ // number of bytes were transfered, then return EFI_DEVICE_ERROR.\r
+ //\r
+ if (!EFI_ERROR (Status)) {\r
+ if (Direction != EfiUsbNoData && DataLength != RequestedDataLength) {\r
+ Status = EFI_DEVICE_ERROR;\r
+ goto ON_EXIT;\r
+ }\r
+ }\r