There is no need to call through the handler when we can handle it inline Signed-off-by: Joe Hershberger <joe.hershber...@ni.com> Cc: Joe Hershberger <joe.hershber...@gmail.com> Cc: Wolfgang Denk <w...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot