diff --git a/subsys/net/l2/ethernet/bridge.c b/subsys/net/l2/ethernet/bridge.c index 905914a909de1d..4b883643c3a3fe 100644 --- a/subsys/net/l2/ethernet/bridge.c +++ b/subsys/net/l2/ethernet/bridge.c @@ -345,7 +345,7 @@ static enum net_verdict bridge_iface_process(struct net_if *iface, /* Drop all link-local packets for now. */ if (is_link_local_addr((struct net_eth_addr *)net_pkt_lladdr_dst(pkt))) { NET_DBG("DROP: lladdr"); - return NET_DROP; + goto out; } lock_bridge(ctx); @@ -397,11 +397,11 @@ static enum net_verdict bridge_iface_process(struct net_if *iface, unlock_bridge(ctx); +out: /* The packet was cloned by the caller so remove it here. */ net_pkt_unref(pkt); return NET_OK; - } int bridge_iface_send(struct net_if *iface, struct net_pkt *pkt)