diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2010-12-18 14:37:39 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-12-20 09:57:35 +0100 |
commit | 32558d1ae5ae15a8e417e9640daf0b7e2e01964f (patch) | |
tree | c9cfde824ac862292ff44aaf9fd830d0014c11fe /net/net.c | |
parent | 91d781f51df5d4de23d09a6777bfc968a0a7ca68 (diff) | |
download | barebox-32558d1ae5ae15a8e417e9640daf0b7e2e01964f.tar.gz barebox-32558d1ae5ae15a8e417e9640daf0b7e2e01964f.tar.xz |
LED: Add LED trigger support
This patch allows to associate LEDs with certain triggers, such
as heartbeat or network activity.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'net/net.c')
-rw-r--r-- | net/net.c | 20 |
1 files changed, 15 insertions, 5 deletions
@@ -628,19 +628,29 @@ int net_receive(unsigned char *pkt, int len) { struct ethernet *et = (struct ethernet *)pkt; int et_protlen = ntohs(et->et_protlen); + int ret; - if (len < ETHER_HDR_SIZE) - return 0; + led_trigger_network(LED_TRIGGER_NET_RX); + + if (len < ETHER_HDR_SIZE) { + ret = 0; + goto out; + } switch (et_protlen) { case PROT_ARP: - return net_handle_arp(pkt, len); + ret = net_handle_arp(pkt, len); + break; case PROT_IP: - return net_handle_ip(pkt, len); + ret = net_handle_ip(pkt, len); + break; default: debug("%s: got unknown protocol type: %d\n", __func__, et_protlen); - return 1; + ret = 1; + break; } +out: + return ret; } static int net_init(void) |