From: Thomas Richard <thomas.richard@kontron.com>
Date: Thu, 8 Oct 2020 12:35:24 +0000 (+0200)
Subject: uqmi: wait forever registration if timeout set to 0
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=2b3a0cabea33763775dbc4b8aab5f54a377bd71e;p=openwrt%2Fstaging%2Fdedeckeh.git

uqmi: wait forever registration if timeout set to 0

Give possibility to wait forever the registration by setting timeout
option to 0.

No timeout can be useful if the interface starts whereas no network is
available, because at the end of timeout the interface will be stopped
and never restarted.

Signed-off-by: Thomas Richard <thomas.richard@kontron.com>
---

diff --git a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
index 8cbe9e97e7..31c2656142 100755
--- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
+++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh
@@ -82,7 +82,7 @@ proto_qmi_setup() {
 	local uninitialized_timeout=0
 	while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do
 		[ -e "$device" ] || return 1
-		if [ "$uninitialized_timeout" -lt "$timeout" ]; then
+		if [ "$uninitialized_timeout" -lt "$timeout" -o "$timeout" = "0" ]; then
 			let uninitialized_timeout++
 			sleep 1;
 		else
@@ -195,7 +195,7 @@ proto_qmi_setup() {
 	local registration_timeout=0
 	while uqmi -s -d "$device" --get-serving-system | grep '"searching"' > /dev/null; do
 		[ -e "$device" ] || return 1
-		if [ "$registration_timeout" -lt "$timeout" ]; then
+		if [ "$registration_timeout" -lt "$timeout" -o "$timeout" = "0" ]; then
 			let registration_timeout++
 			sleep 1;
 		else