Merge pull request #21993 from osedl/pr/20230901-modemmanager-hardcoded-proto

modemmanager: Remove hardcoded proto check
This commit is contained in:
Florian Eckert 2023-09-27 13:39:02 +02:00 committed by GitHub
commit 5c63540762
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 16 deletions

View File

@ -6,6 +6,7 @@
. /lib/functions.sh
. /lib/netifd/netifd-proto.sh
INCLUDE_ONLY=1 . /lib/netifd/proto/modemmanager.sh
################################################################################
# Runtime state
@ -139,10 +140,6 @@ mm_get_modem_config_foreach_cb() {
local cfg="$1"
local sysfspath="$2"
local proto
config_get proto "${cfg}" proto
[ "${proto}" = modemmanager ] || return 0
local dev
dev=$(uci_get network "${cfg}" device)
[ "${dev}" = "${sysfspath}" ] || return 0
@ -237,19 +234,25 @@ mm_report_modem_wait() {
################################################################################
# Cleanup interfaces
mm_cleanup_interface_cb() {
local cfg="$1"
local proto
config_get proto "${cfg}" proto
[ "${proto}" = modemmanager ] || return 0
proto_set_available "${cfg}" 0
}
mm_cleanup_interfaces() {
config_load network
config_foreach mm_cleanup_interface_cb interface
local modemlist modemlength idx modeminfo modemsysfspath
modemlist=$(mmcli --list-modems --output-keyvalue)
[ -n "${modemlist}" ] || return 0
modemlength=$(modemmanager_get_field "${modemlist}" "modem-list.length")
# do nothing if no modem reported
[ -n "${modemlength}" ] && [ "${modemlength}" -ge 1 ] && {
idx=1
while [ $idx -le "$modemlength" ]; do
modempath=$(modemmanager_get_field "${modemlist}" "modem-list.value\[$idx\]")
modeminfo=$(mmcli --modem "${modempath}" --output-keyvalue)
modemsysfspath=$(modemmanager_get_field "${modeminfo}" "modem.generic.device")
mm_cleanup_interface_by_sysfspath "${modemsysfspath}"
idx=$((idx + 1))
done
}
}
mm_cleanup_interface_by_sysfspath() {