From: Michael Brown <mbr...@fensystems.co.uk> The design of the EFI_USB2_HC_PROTOCOL does not allow for long-lived bulk IN transactions as used by network devices, but instead requires the network driver to rely on repeatedly issuing bulk IN transactions with a very short timeout and in the expectation that most bulk IN transactions will time out since no packet will have been received.
Timeouts are therefore normal and expected events when using a USB network device under UEFI. This currently results in a constant stream of spurious "Wait4Bit: set timeout" and "Channel %u did not halt" debug messages whenever the network device is open. All callers of Wait4Bit already report a meaningful error in the event of a timeout, so the Wait4Bit message may safely be removed without impacting the ability to debug the code. The "Channel %u did not halt" message may be moved to its sole call site and restricted to the situation in which the subsequent attempt to gracefully disable the channel did actually fail. Signed-off-by: Michael Brown <mbr...@fensystems.co.uk> Signed-off-by: Pete Batard <p...@akeo.ie> --- Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c b/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c index 22d9bd822f96..37ebf503fd60 100644 --- a/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c +++ b/Platform/RaspberryPi/RPi3/Drivers/DwUsbHostDxe/DwUsbHostDxe.c @@ -74,9 +74,6 @@ Wait4Bit ( } } while (EFI_ERROR (gBS->CheckEvent (Timeout))); - DEBUG ((DEBUG_ERROR, "Wait4Bit: %a timeout (reg:0x%x, value:0x%x, mask:0x%x)\n", - Set ? "set" : "clear", Reg, Set ? Value : ~Value, Mask)); - return EFI_TIMEOUT; } @@ -99,7 +96,6 @@ Wait4Chhltd ( Status = Wait4Bit (Timeout, DwHc->DwUsbBase + HCINT (Channel), DWC2_HCINT_CHHLTD, 1); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "Channel %u did not halt\n", Channel)); return XFER_NOT_HALTED; } @@ -331,6 +327,7 @@ DwHcTransfer ( if (Status == EFI_SUCCESS) { Status = EFI_TIMEOUT; } else { + DEBUG ((DEBUG_ERROR, "Channel %u did not halt\n", Channel)); Status = EFI_DEVICE_ERROR; } break; -- 2.21.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#43880): https://edk2.groups.io/g/devel/message/43880 Mute This Topic: https://groups.io/mt/32502336/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-