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.hirama...@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) {

Reply via email to