From 92cd38d79723b122a0472ad32c62319bfc4580f3 Mon Sep 17 00:00:00 2001 From: patacongo Date: Thu, 25 Nov 2010 02:44:23 +0000 Subject: [PATCH] Enable Broadcast RX unconditionally git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3127 42af7a65-404d-4744-a932-0658087f49c3 --- arch/arm/src/lpc17xx/lpc17_ethernet.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/arch/arm/src/lpc17xx/lpc17_ethernet.c b/arch/arm/src/lpc17xx/lpc17_ethernet.c index c9c3bfb541..a7e18fb373 100644 --- a/arch/arm/src/lpc17xx/lpc17_ethernet.c +++ b/arch/arm/src/lpc17xx/lpc17_ethernet.c @@ -1410,13 +1410,14 @@ static int lpc17_ifup(struct uip_driver_s *dev) lpc17_putreg(regval, LPC17_ETH_MAC1); /* Set up RX filter and configure to accept broadcast addresses, multicast - * addresses, and perfect station address matches. + * addresses, and perfect station address matches. We should also accept + * perfect matches and, most likely, broadcast (for example, for ARP requests). + * Other RX filter options will only be enabled if so selected. NOTE: There + * is a selection CONFIG_NET_BROADCAST, but this enables receipt of UDP + * broadcast packets inside of the stack. */ - regval = ETH_RXFLCTRL_PERFEN; -#ifdef CONFIG_NET_BROADCAST - regval |= ETH_RXFLCTRL_BCASTEN; -#endif + regval = ETH_RXFLCTRL_PERFEN | ETH_RXFLCTRL_BCASTEN; #ifdef CONFIG_NET_MULTICAST RXFILTERCTRL |= (ETH_RXFLCTRL_MCASTEN | ETH_RXFLCTRL_UCASTEN); #endif