summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-12-18 09:24:56 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-12-18 11:22:19 +0100
commit4592658b700b4b261901146c89b7c8042c669988 (patch)
treeaa25a1eb0d6b0e8b5afa1e287ae8d57d705d1a73
parentbsps/arm: Add PHY up/down (diff)
downloadrtems-4592658b700b4b261901146c89b7c8042c669988.tar.bz2
bsps/arm: Move promiscuous mode setting
-rw-r--r--c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c b/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c
index b545800137..3b2d5b6fa5 100644
--- a/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c
+++ b/c/src/lib/libbsp/arm/shared/lpc/network/lpc-ethernet.c
@@ -1359,8 +1359,6 @@ static int lpc_eth_up_or_down(lpc_eth_driver_entry *e, bool up)
lpc_eth->sa2 = ((uint32_t) e->arpcom.ac_enaddr [1] << 8)
| (uint32_t) e->arpcom.ac_enaddr [0];
- lpc_eth_enable_promiscous_mode((ifp->if_flags & IFF_PROMISC) != 0);
-
/* Enable receiver */
lpc_eth->mac1 = 0x03;
@@ -1533,6 +1531,9 @@ static int lpc_eth_interface_ioctl(
break;
case SIOCSIFFLAGS:
eno = lpc_eth_up_or_down(e, (ifp->if_flags & IFF_UP) != 0);
+ if (eno == 0 && (ifp->if_flags & IFF_UP) != 0) {
+ lpc_eth_enable_promiscous_mode((ifp->if_flags & IFF_PROMISC) != 0);
+ }
break;
case SIOCADDMULTI:
case SIOCDELMULTI: