
On 9/16/21 10:53 AM, Masami Hiramatsu wrote:
Do not check EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT in packet receiving loop. This depends on the implementation and not related to whether the packet can be received or not.
Shouldn't EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT always be set if a package needs to be processed?
Best regards
Heinrich
Whether the received packets are available or not is ensured by wait_for_packet, and that is already done in the loop.
Signed-off-by: Masami Hiramatsu masami.hiramatsu@linaro.org
lib/efi_selftest/efi_selftest_snp.c | 11 ----------- 1 file changed, 11 deletions(-)
diff --git a/lib/efi_selftest/efi_selftest_snp.c b/lib/efi_selftest/efi_selftest_snp.c index cb0db7eea2..c5366c872c 100644 --- a/lib/efi_selftest/efi_selftest_snp.c +++ b/lib/efi_selftest/efi_selftest_snp.c @@ -340,8 +340,6 @@ static int execute(void) events[0] = timer; events[1] = net->wait_for_packet; for (;;) {
u32 int_status;
- /*
*/
- Wait for packet to be received or timer event.
@@ -367,15 +365,6 @@ static int execute(void) * Receive packet */ buffer_size = sizeof(buffer);
ret = net->get_status(net, &int_status, NULL);
if (ret != EFI_SUCCESS) {
efi_st_error("Failed to get status");
return EFI_ST_FAILURE;
}
if (!(int_status & EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT)) {
efi_st_error("RX interrupt not set");
return EFI_ST_FAILURE;
ret = net->receive(net, NULL, &buffer_size, &buffer, &srcaddr, &destaddr, NULL); if (ret != EFI_SUCCESS) {}