]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - net/net.c
Merge git://git.denx.de/u-boot-fsl-qoriq
[people/ms/u-boot.git] / net / net.c
index 2a6efd85eae2179c97a0f798e0ec881a3d66a3b8..1e1d23dafa55fc44944212a1da540a05fbdfee20 100644 (file)
--- a/net/net.c
+++ b/net/net.c
 
 #include <common.h>
 #include <command.h>
+#include <console.h>
 #include <environment.h>
 #include <errno.h>
 #include <net.h>
+#include <net/tftp.h>
 #if defined(CONFIG_STATUS_LED)
 #include <miiphy.h>
 #include <status_led.h>
 #if defined(CONFIG_CMD_SNTP)
 #include "sntp.h"
 #endif
-#include "tftp.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -145,7 +146,7 @@ static unsigned     net_ip_id;
 /* Ethernet bcast address */
 const u8 net_bcast_ethaddr[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
 const u8 net_null_ethaddr[6];
-#ifdef CONFIG_API
+#if defined(CONFIG_API) || defined(CONFIG_EFI_LOADER)
 void (*push_packet)(void *, int len) = 0;
 #endif
 /* Network loop state */
@@ -164,7 +165,7 @@ ushort              net_our_vlan = 0xFFFF;
 ushort         net_native_vlan = 0xFFFF;
 
 /* Boot File name */
-char net_boot_file_name[128];
+char net_boot_file_name[1024];
 /* The actual transferred size of the bootfile (in bytes) */
 u32 net_boot_file_size;
 /* Boot file size in blocks as reported by the DHCP server */
@@ -541,6 +542,9 @@ restart:
 #ifdef CONFIG_SHOW_ACTIVITY
                show_activity(1);
 #endif
+               if (arp_timeout_check() > 0)
+                       time_start = get_timer(0);
+
                /*
                 *      Check the ethernet for a new packet.  The ethernet
                 *      receive routine will process it.
@@ -569,8 +573,6 @@ restart:
                        goto done;
                }
 
-               arp_timeout_check();
-
                /*
                 *      Check for a timeout, and run the timeout handler
                 *      if we have one.
@@ -1052,7 +1054,7 @@ void net_process_received_packet(uchar *in_packet, int len)
        if (len < ETHER_HDR_SIZE)
                return;
 
-#ifdef CONFIG_API
+#if defined(CONFIG_API) || defined(CONFIG_EFI_LOADER)
        if (push_packet) {
                (*push_packet)(in_packet, len);
                return;