net/udp: In sendto(), return EHOSTUNREACH if if the network is down.
This commit is contained in:
parent
fef255e5be
commit
fa3ad46897
|
@ -384,6 +384,14 @@ static int sendto_next_transfer(FAR struct socket *psock,
|
|||
return -ENETUNREACH;
|
||||
}
|
||||
|
||||
/* Make sure that the device is in the UP state */
|
||||
|
||||
if ((dev->d_flags & IFF_UP) == 0)
|
||||
{
|
||||
nwarn("WARNING: device is DOWN\n");
|
||||
return -EHOSTUNREACH;
|
||||
}
|
||||
|
||||
/* If this is not the same device that we used in the last call to
|
||||
* udp_callback_alloc(), then we need to release and reallocate the old
|
||||
* callback instance.
|
||||
|
|
|
@ -424,6 +424,15 @@ ssize_t psock_udp_sendto(FAR struct socket *psock, FAR const void *buf,
|
|||
goto errout_with_lock;
|
||||
}
|
||||
|
||||
/* Make sure that the device is in the UP state */
|
||||
|
||||
if ((dev->d_flags & IFF_UP) == 0)
|
||||
{
|
||||
nwarn("WARNING: device is DOWN\n");
|
||||
ret = -EHOSTUNREACH;
|
||||
goto errout_with_lock;
|
||||
}
|
||||
|
||||
/* Set up the callback in the connection */
|
||||
|
||||
state.st_cb = udp_callback_alloc(dev, conn);
|
||||
|
|
Loading…
Reference in New Issue