diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2017-10-05 16:36:02 +0200 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2017-10-09 07:00:34 +0200 |
commit | 891b3d9051690d0ba39da4eda1d15773ebfee2b6 (patch) | |
tree | c985e4277d6e5be0303e97a90af61f59cd741454 /include | |
parent | e5c21603fce2e6143f7312211eaed47c16510ea3 (diff) | |
download | u-boot-891b3d9051690d0ba39da4eda1d15773ebfee2b6.tar.gz u-boot-891b3d9051690d0ba39da4eda1d15773ebfee2b6.tar.xz u-boot-891b3d9051690d0ba39da4eda1d15773ebfee2b6.zip |
efi_loader: fix efi_net_get_status
The returned interrupt status was wrong.
As out transmit buffer is empty we need to always set
EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT.
When we have received a packet we need to set
EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT.
Furthermore we should call efi_timer_check() to handle events.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/efi_api.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/efi_api.h b/include/efi_api.h index 2f31464cb3..1f349db246 100644 --- a/include/efi_api.h +++ b/include/efi_api.h @@ -600,6 +600,12 @@ struct efi_simple_network_mode { #define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS 0x08 #define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS_MULTICAST 0x10 +/* interrupt status bit mask */ +#define EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT 0x01 +#define EFI_SIMPLE_NETWORK_TRANSMIT_INTERRUPT 0x02 +#define EFI_SIMPLE_NETWORK_COMMAND_INTERRUPT 0x04 +#define EFI_SIMPLE_NETWORK_SOFTWARE_INTERRUPT 0x08 + /* revision of the simple network protocol */ #define EFI_SIMPLE_NETWORK_PROTOCOL_REVISION 0x00010000 |