[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