@@ -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 "
There is no need to call through the handler when we can handle it inline Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Cc: Joe Hershberger <joe.hershberger@gmail.com> Cc: Wolfgang Denk <wd@denx.de> --- net/ping.c | 19 ++----------------- 1 files changed, 2 insertions(+), 17 deletions(-)