From: Jan Hoffmann Date: Tue, 3 May 2022 13:26:29 +0000 (+0200) Subject: ltq-ifxos: add compatibility with kernel 5.15 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e4c76e6fa34b52bdbe3e7601a4ef43525fc0999b;p=openwrt%2Fstaging%2Fnbd.git ltq-ifxos: add compatibility with kernel 5.15 set_fs is no longer supported since kernel 5.13 for mips. Signed-off-by: Jan Hoffmann Signed-off-by: Martin Blumenstingl --- diff --git a/package/kernel/lantiq/ltq-ifxos/patches/100-compat.patch b/package/kernel/lantiq/ltq-ifxos/patches/100-compat.patch index 0fc2c2c5e6..45059890e1 100644 --- a/package/kernel/lantiq/ltq-ifxos/patches/100-compat.patch +++ b/package/kernel/lantiq/ltq-ifxos/patches/100-compat.patch @@ -22,3 +22,71 @@ if (pVirtAddr == IFX_NULL) { IFXOS_PRN_USR_ERR_NL( IFXOS, IFXOS_PRN_LEVEL_ERR, +--- a/src/linux/ifxos_linux_socket_drv.c ++++ b/src/linux/ifxos_linux_socket_drv.c +@@ -165,8 +165,12 @@ IFX_int_t IFXOS_SocketRecvFrom( + IFXOS_sockAddr_t *pSocAddr) + { + struct msghdr msg; ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,13,0) + struct iovec iov; + mm_segment_t old_fs; ++#else ++ struct kvec iov; ++#endif + int ret; + + IFXOS_RETURN_IF_POINTER_NULL(pBuffer, IFX_ERROR); +@@ -181,6 +185,8 @@ IFX_int_t IFXOS_SocketRecvFrom( + msg.msg_controllen = 0; + msg.msg_flags = 0; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,13,0) ++ + #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)) + msg.msg_iov = &iov; + msg.msg_iovlen = 1; +@@ -200,6 +206,10 @@ IFX_int_t IFXOS_SocketRecvFrom( + #endif + set_fs(old_fs); + ++#else ++ ret = kernel_recvmsg (socFd, &msg, &iov, 1, bufSize_byte, 0); ++#endif ++ + return ret; + } + +@@ -229,8 +239,12 @@ IFX_int_t IFXOS_SocketSendTo( + IFXOS_sockAddr_t *pSocAddr) + { + struct msghdr msg; ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,13,0) + struct iovec iov; + mm_segment_t old_fs; ++#else ++ struct kvec iov; ++#endif + int ret; + + IFXOS_RETURN_IF_POINTER_NULL(pBuffer, IFX_ERROR); +@@ -245,6 +259,8 @@ IFX_int_t IFXOS_SocketSendTo( + msg.msg_controllen = 0; + msg.msg_flags = MSG_DONTWAIT; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,13,0) ++ + #if (LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)) + msg.msg_iov = &iov; + msg.msg_iovlen = 1; +@@ -264,6 +280,10 @@ IFX_int_t IFXOS_SocketSendTo( + #endif + set_fs(old_fs); + ++#else ++ ret = kernel_sendmsg(socFd, &msg, &iov, 1, bufSize_byte); ++#endif ++ + return ret; + } +