From 41fb44ff2f0d1f5f5a90a21d165822a63109c2ca Mon Sep 17 00:00:00 2001 From: Dmitry Ilyin <6576495+widgetii@users.noreply.github.com> Date: Sat, 7 Nov 2026 19:04:57 +0300 Subject: [PATCH] atbm: RX copies from kmalloc, so unread replies cannot pin 32 KiB each The AltoBeam drivers copied every received frame with dev_alloc_skb(), which carves it out of a 32 KiB page-frag block; one frame left queued keeps the whole block, and a socket charges it only a few hundred bytes. Segments an application has not read, such as an RTMP server's acknowledgements, then drain a ~27 MiB camera until OOM, in memory no /proc/meminfo field shows: #2455. - atbm-wifi: fetched from OpenIPC's fork of gtxaspec/atbm-wifi, pinned at 5a0a920 instead of HEAD. That carries the fix (OpenIPC/atbm-wifi#1) and a Makefile that builds on 4.9 kernels under GNU make 4.4, which the upstream one does not. - atbm60xx, atbm603x-comb-openipc: OpenIPC/atbm_60xx 70d6dec, the same fix (OpenIPC/atbm_60xx#8). --- general/package/atbm-wifi/Config.in | 2 ++ general/package/atbm-wifi/atbm-wifi.mk | 6 ++++-- .../package/atbm603x-comb-openipc/atbm603x-comb-openipc.mk | 2 +- general/package/atbm60xx/atbm60xx.mk | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/general/package/atbm-wifi/Config.in b/general/package/atbm-wifi/Config.in index 5bc34c2f95..40150a7faf 100644 --- a/general/package/atbm-wifi/Config.in +++ b/general/package/atbm-wifi/Config.in @@ -4,6 +4,8 @@ config BR2_PACKAGE_ATBM_WIFI help Wireless driver atbm-wifi + https://github.com/openipc/atbm-wifi + if BR2_PACKAGE_ATBM_WIFI choice prompt "ATBM_WIFI Model" diff --git a/general/package/atbm-wifi/atbm-wifi.mk b/general/package/atbm-wifi/atbm-wifi.mk index efb6ed67bc..f304f661a1 100644 --- a/general/package/atbm-wifi/atbm-wifi.mk +++ b/general/package/atbm-wifi/atbm-wifi.mk @@ -4,8 +4,10 @@ # ################################################################################ -ATBM_WIFI_SITE = $(call github,gtxaspec,atbm-wifi,$(ATBM_WIFI_VERSION)) -ATBM_WIFI_VERSION = HEAD +# OpenIPC's fork of gtxaspec/atbm-wifi, for the make 4.4 build fix and RX +# copies that cannot pin 32 KiB each (OpenIPC/firmware#2455). +ATBM_WIFI_SITE = $(call github,openipc,atbm-wifi,$(ATBM_WIFI_VERSION)) +ATBM_WIFI_VERSION = 5a0a920b9d8e5161606764dac27761e9e985495d define ATBM_WIFI_INSTALL_TARGET_CMDS # $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/share/ATBM-WIFI_conf diff --git a/general/package/atbm603x-comb-openipc/atbm603x-comb-openipc.mk b/general/package/atbm603x-comb-openipc/atbm603x-comb-openipc.mk index b1790fcd6c..f72c6a0a41 100644 --- a/general/package/atbm603x-comb-openipc/atbm603x-comb-openipc.mk +++ b/general/package/atbm603x-comb-openipc/atbm603x-comb-openipc.mk @@ -7,7 +7,7 @@ # OpenIPC/atbm_60xx's atbm603x_comb/ directory: AltoBeam's apollo driver # (DRIVER_VER 2874) with the AsmLite and Ares-B firmware, as Khadas ships it. ATBM603X_COMB_OPENIPC_SITE = $(call github,openipc,atbm_60xx,$(ATBM603X_COMB_OPENIPC_VERSION)) -ATBM603X_COMB_OPENIPC_VERSION = bd7644ecade21991a5cef9513acd53e27237a438 +ATBM603X_COMB_OPENIPC_VERSION = 70d6dec035e6cbe701ec552b0e17d36b0d879c69 ATBM603X_COMB_OPENIPC_LICENSE = GPL-2.0 diff --git a/general/package/atbm60xx/atbm60xx.mk b/general/package/atbm60xx/atbm60xx.mk index 6e05ec6d14..db59ef3af9 100644 --- a/general/package/atbm60xx/atbm60xx.mk +++ b/general/package/atbm60xx/atbm60xx.mk @@ -9,7 +9,7 @@ ATBM60XX_SITE = $(call github,openipc,atbm_60xx,$(ATBM60XX_VERSION)) # Its exported `NAME ?= $(shell ...)` defaults re-ran each other's $(shell) # without end once make 4.4 began expanding exported variables for it, and # t31_ultimate's build sat in this module until the job was killed. -ATBM60XX_VERSION = 13977efab09c2e293fd471e99b66e5fa2791d783 +ATBM60XX_VERSION = 70d6dec035e6cbe701ec552b0e17d36b0d879c69 define ATBM60XX_INSTALL_TARGET_CMDS $(INSTALL) -m 755 -d $(TARGET_DIR)/usr/share/atbm60xx_conf