From 2cbdd66d6ffb09cf5421e0176d80a5b970d98230 Mon Sep 17 00:00:00 2001 From: Martine Lenders Date: Fri, 30 Jun 2023 08:25:39 +0200 Subject: [PATCH] lwip: bump to v2.2.0 --- pkg/lwip/Makefile | 4 +- ...001-netconn-add-callback-arg-storage.patch | 120 ------------------ 2 files changed, 2 insertions(+), 122 deletions(-) delete mode 100644 pkg/lwip/patches/0001-netconn-add-callback-arg-storage.patch diff --git a/pkg/lwip/Makefile b/pkg/lwip/Makefile index 34357b81bb..19da1f5ee0 100644 --- a/pkg/lwip/Makefile +++ b/pkg/lwip/Makefile @@ -1,7 +1,7 @@ PKG_NAME=lwip PKG_URL=https://github.com/lwip-tcpip/lwip.git -# lwIP v2.1.3 -PKG_VERSION=6ca936f6b588cee702c638eee75c2436e6cf75de +# lwIP v2.2.0 +PKG_VERSION=07a0dec3d4fa08ec332e5c297c40899ae6c727c6 PKG_LICENSE=BSD-3-Clause include $(RIOTBASE)/pkg/pkg.mk diff --git a/pkg/lwip/patches/0001-netconn-add-callback-arg-storage.patch b/pkg/lwip/patches/0001-netconn-add-callback-arg-storage.patch deleted file mode 100644 index d4a19d4f92..0000000000 --- a/pkg/lwip/patches/0001-netconn-add-callback-arg-storage.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 59d78b78b683c9212949d4950355ea5f424c1da9 Mon Sep 17 00:00:00 2001 -From: Simon Goldschmidt -Date: Sat, 13 Jul 2019 20:46:36 +0200 -Subject: [PATCH] netconn: add callback arg storage - -This reuses the member 'int socket' by making it a union containing -both int and void pointer. - -See bug #56593. - -Signed-off-by: Simon Goldschmidt -Suggested-by: Wilfred -(cherry picked from commit 5465fdfd6988354e77dc0e7a6117303d4c87cbd0) ---- - src/api/api_msg.c | 4 +--- - src/api/sockets.c | 14 +++++++------- - src/include/lwip/api.h | 11 +++++++---- - 3 files changed, 15 insertions(+), 14 deletions(-) - -diff --git a/src/api/api_msg.c b/src/api/api_msg.c -index 39531024..19218de3 100644 ---- a/src/api/api_msg.c -+++ b/src/api/api_msg.c -@@ -756,10 +756,8 @@ netconn_alloc(enum netconn_type t, netconn_callback callback) - sys_mbox_set_invalid(&conn->acceptmbox); - #endif - conn->state = NETCONN_NONE; --#if LWIP_SOCKET - /* initialize socket to -1 since 0 is a valid socket */ -- conn->socket = -1; --#endif /* LWIP_SOCKET */ -+ conn->callback_arg.socket = -1; - conn->callback = callback; - #if LWIP_TCP - conn->current_msg = NULL; -diff --git a/src/api/sockets.c b/src/api/sockets.c -index cb7df914..ce12af1e 100644 ---- a/src/api/sockets.c -+++ b/src/api/sockets.c -@@ -666,8 +666,8 @@ lwip_accept(int s, struct sockaddr *addr, socklen_t *addrlen) - * so nsock->rcvevent is >= 1 here! - */ - SYS_ARCH_PROTECT(lev); -- recvevent = (s16_t)(-1 - newconn->socket); -- newconn->socket = newsock; -+ recvevent = (s16_t)(-1 - newconn->callback_arg.socket); -+ newconn->callback_arg.socket = newsock; - SYS_ARCH_UNPROTECT(lev); - - if (newconn->callback) { -@@ -1735,7 +1735,7 @@ lwip_socket(int domain, int type, int protocol) - set_errno(ENFILE); - return -1; - } -- conn->socket = i; -+ conn->callback_arg.socket = i; - done_socket(&sockets[i - LWIP_SOCKET_OFFSET]); - LWIP_DEBUGF(SOCKETS_DEBUG, ("%d\n", i)); - set_errno(0); -@@ -2484,7 +2484,7 @@ event_callback(struct netconn *conn, enum netconn_evt evt, u16_t len) - - /* Get socket */ - if (conn) { -- s = conn->socket; -+ s = conn->callback_arg.socket; - if (s < 0) { - /* Data comes in right away after an accept, even though - * the server task might not have created a new socket yet. -@@ -2492,16 +2492,16 @@ event_callback(struct netconn *conn, enum netconn_evt evt, u16_t len) - * will use the data later. Note that only receive events - * can happen before the new socket is set up. */ - SYS_ARCH_PROTECT(lev); -- if (conn->socket < 0) { -+ if (conn->callback_arg.socket < 0) { - if (evt == NETCONN_EVT_RCVPLUS) { - /* conn->socket is -1 on initialization - lwip_accept adjusts sock->recvevent if conn->socket < -1 */ -- conn->socket--; -+ conn->callback_arg.socket--; - } - SYS_ARCH_UNPROTECT(lev); - return; - } -- s = conn->socket; -+ s = conn->callback_arg.socket; - SYS_ARCH_UNPROTECT(lev); - } - -diff --git a/src/include/lwip/api.h b/src/include/lwip/api.h -index c2afaf26..d6e8fa1f 100644 ---- a/src/include/lwip/api.h -+++ b/src/include/lwip/api.h -@@ -246,10 +246,10 @@ struct netconn { - all threads when closing while threads are waiting. */ - int mbox_threads_waiting; - #endif -- /** only used for socket layer */ --#if LWIP_SOCKET -- int socket; --#endif /* LWIP_SOCKET */ -+ union { -+ int socket; -+ void *ptr; -+ } callback_arg; - #if LWIP_SO_SNDTIMEO - /** timeout to wait for sending data (which means enqueueing data for sending - in internal buffers) in milliseconds */ -@@ -373,6 +373,9 @@ err_t netconn_err(struct netconn *conn); - #define netconn_clear_flags(conn, clr_flags) do { (conn)->flags = (u8_t)((conn)->flags & (u8_t)(~(clr_flags) & 0xff)); } while(0) - #define netconn_is_flag_set(conn, flag) (((conn)->flags & (flag)) != 0) - -+#define netconn_set_callback_arg(conn, arg) do { (conn)->callback_arg.ptr = (arg); } while(0) -+#define netconn_get_callback_arg(conn) ((conn)->callback_arg.ptr) -+ - /** Set the blocking status of netconn calls (@todo: write/send is missing) */ - #define netconn_set_nonblocking(conn, val) do { if(val) { \ - netconn_set_flags(conn, NETCONN_FLAG_NON_BLOCKING); \ --- -2.25.1 -