[U-Boot] [PATCH 14/28] net: Refactor ping recieve handler

Joe Hershberger joe.hershberger at ni.com
Fri Jan 20 01:53:17 CET 2012


There is no need to call through the handler when we can handle
it inline

Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
Cc: Joe Hershberger <joe.hershberger at gmail.com>
Cc: Wolfgang Denk <wd at denx.de>
---
 net/ping.c |   19 ++-----------------
 1 files changed, 2 insertions(+), 17 deletions(-)

diff --git a/net/ping.c b/net/ping.c
index 12f9185..e4a7a21 100644
--- a/net/ping.c
+++ b/net/ping.c
@@ -76,22 +76,11 @@ PingTimeout(void)
 	NetState = NETLOOP_FAIL;	/* we did not get the reply */
 }
 
-static void
-PingHandler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src,
-	    unsigned len)
-{
-	if (sip != NetPingIP)
-		return;
-
-	NetState = NETLOOP_SUCCESS;
-}
-
 void
 PingStart(void)
 {
 	printf("Using %s device\n", eth_get_name());
 	NetSetTimeout(10000UL, PingTimeout);
-	NetSetHandler(PingHandler);
 
 	PingSend();
 }
@@ -103,13 +92,9 @@ void PingReceive(struct Ethernet_t *et, struct IP_UDP_t *ip, int len)
 
 	switch (icmph->type) {
 	case ICMP_ECHO_REPLY:
-		/*
-		 * IP header OK.  Pass the packet to the
-		 * current handler.
-		 */
-		/* XXX point to ip packet */
 		src_ip = NetReadIP((void *)&ip->ip_src);
-		NetGetHandler()((uchar *)ip, 0, src_ip, 0, 0);
+		if (src_ip == NetPingIP)
+			NetState = NETLOOP_SUCCESS;
 		return;
 	case ICMP_ECHO_REQUEST:
 		debug("Got ICMP ECHO REQUEST, return "
-- 
1.6.0.2



More information about the U-Boot mailing list