From 074741e343b059b560194f3afb25bfe505a0f3a2 Mon Sep 17 00:00:00 2001 From: Oliver Sedlbauer Date: Mon, 23 Oct 2023 17:52:38 +0200 Subject: [PATCH] modemmanager: move iface cleanup to wrapper script If the ModemManager process crashes, the interfaces are not cleaned up properly because the stop_service method is not called. With this change, the interfaces are cleaned up both when stopping the service and during a crash. Therefore it is no longer necessary to perform a cleanup at the beginning. Signed-off-by: Oliver Sedlbauer --- net/modemmanager/Makefile | 2 +- net/modemmanager/files/modemmanager.init | 7 ------- net/modemmanager/files/usr/sbin/ModemManager-wrapper | 4 +++- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/net/modemmanager/Makefile b/net/modemmanager/Makefile index bef514550..e484b7fbd 100644 --- a/net/modemmanager/Makefile +++ b/net/modemmanager/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager PKG_SOURCE_VERSION:=1.22.0 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git diff --git a/net/modemmanager/files/modemmanager.init b/net/modemmanager/files/modemmanager.init index 7f014dc56..a036d884d 100755 --- a/net/modemmanager/files/modemmanager.init +++ b/net/modemmanager/files/modemmanager.init @@ -6,13 +6,6 @@ START=70 LOG_LEVEL="INFO" -stop_service() { - # Load common utils - . /usr/share/ModemManager/modemmanager.common - # Set all configured interfaces as unavailable - mm_cleanup_interfaces -} - start_service() { # Setup ModemManager service # diff --git a/net/modemmanager/files/usr/sbin/ModemManager-wrapper b/net/modemmanager/files/usr/sbin/ModemManager-wrapper index 4fd64227f..97c2a826d 100644 --- a/net/modemmanager/files/usr/sbin/ModemManager-wrapper +++ b/net/modemmanager/files/usr/sbin/ModemManager-wrapper @@ -20,7 +20,6 @@ main() { mkdir -p "${MODEMMANAGER_RUNDIR}" chmod 0755 "${MODEMMANAGER_RUNDIR}" - mm_cleanup_interfaces /usr/sbin/ModemManager "$@" 1>/dev/null 2>/dev/null & CHILD="$!" @@ -28,6 +27,9 @@ main() { mm_report_events_from_cache wait "$CHILD" + + # Set all configured interfaces as unavailable + mm_cleanup_interfaces } main "$@"