diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index e4a88ca0223e1aa0e98b165f5045247ca0144105..bfefc2d1de3761663ce23799ef1d2a8f855f9ac9 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -269,7 +269,7 @@ struct netdev *netdev_get_by_family(int family) { netdev = rt_slist_entry(node, struct netdev, list); pf = (struct sal_proto_family *) netdev->sal_user_data; - if (pf && pf->skt_ops && pf->family == family && netdev_is_up(netdev)) + if (pf && pf->skt_ops && pf->family == family && netdev_is_up(netdev) && netdev_is_link_up(netdev)) { rt_hw_interrupt_enable(level); return netdev;