/* This function searches the next MSG_USB_DP device path node. */
EFI_DEVICE_PATH_PROTOCOL* UsbNicGetNextMsgUsbDp(IN EFI_DEVICE_PATH_PROTOCOL *ThisDevicePath)
/* This function searches the next MSG_USB_DP device path node. */
EFI_DEVICE_PATH_PROTOCOL* UsbNicGetNextMsgUsbDp(IN EFI_DEVICE_PATH_PROTOCOL *ThisDevicePath)
{
  if (ThisDevicePath == NULL) {
    return NULL;
  }
  while (TRUE) {
    ThisDevicePath = NextDevicePathNode (ThisDevicePath);
    if (IsDevicePathEnd (ThisDevicePath)) {
      return NULL;
    }
    if ((ThisDevicePath->Type == MESSAGING_DEVICE_PATH) && (ThisDevicePath->SubType == MSG_USB_DP)) {
      return ThisDevicePath;
    }
  }
  return NULL;
}