Fix EFI net issues

Fixes the following issues found when testing
EFI_SIMPLE_NETWORK_PROTOCOL on cuttlefish:

1. EFI uses the first net device by default. Cuttlefish creates 3
   network devices but the first one doesn't have an assigned MAC. This
   causes failure when EFI registers network device. The solution is to
   call `eth_set_current()` first to scan and select a different one.
2. Virtio net stops receiving when rx ring runs out of buffer. Adding
   back buffer is not sufficient to resume it. A notification is
   necessary to kick if off again.

TEST: Tested Fastboot over TCP in GBL UEFI app.
Change-Id: I73a59cf188fb45212a4666f46b88fdf55de9d663
2 files changed