diff -Nuar bluez-5.54/ell/missing.h bluez-5.54-sw/ell/missing.h
--- bluez-5.54/ell/missing.h	2019-04-03 17:49:21.000000000 +0000
+++ bluez-5.54-sw/ell/missing.h	2022-07-20 13:43:50.420000000 +0000
@@ -27,6 +27,8 @@
 #    define __NR_getrandom 318
 #  elif defined(__i386__)
 #    define __NR_getrandom 355
+#  elif defined(__sw_64__)
+#    define __NR_getrandom 511
 #  elif defined(__arm__)
 #    define __NR_getrandom 384
 # elif defined(__aarch64__)
diff -Nuar bluez-5.54/profiles/network/bnep.c bluez-5.54-sw/profiles/network/bnep.c
--- bluez-5.54/profiles/network/bnep.c	2019-09-19 18:51:03.000000000 +0000
+++ bluez-5.54-sw/profiles/network/bnep.c	2022-07-20 13:58:58.390000000 +0000
@@ -268,7 +268,8 @@
 
 	memset(&timeo, 0, sizeof(timeo));
 	timeo.tv_sec = 0;
-	setsockopt(sk, SOL_SOCKET, SO_RCVTIMEO, &timeo, sizeof(timeo));
+/*	setsockopt(sk, SOL_SOCKET, SO_RCVTIMEO, &timeo, sizeof(timeo));	*/
+	setsockopt(sk, SOL_SOCKET, SO_RCVTIMEO_OLD, &timeo, sizeof(timeo));
 
 	sk = g_io_channel_unix_get_fd(session->io);
 	if (bnep_connadd(sk, session->src, session->iface) < 0)
