Index: uspace/srv/net/tl/udp/udp.c
===================================================================
--- uspace/srv/net/tl/udp/udp.c	(revision d94f3097b97988d448b746a3d98c0665319c0972)
+++ uspace/srv/net/tl/udp/udp.c	(revision f3cb50e24355752d6a7cbc4304159cb08ed2e92e)
@@ -578,6 +578,8 @@
 		return udp_release_and_return(packet, rc);
 
+	/* Release the UDP global lock on success. */
+	fibril_rwlock_write_unlock(&udp_globals.lock);
+
 	// send the packet
-	fibril_rwlock_write_unlock(&udp_globals.lock);
 	ip_send_msg(udp_globals.ip_phone, device_id, packet, SERVICE_UDP, 0);
 
