From 2b3a0cabea33763775dbc4b8aab5f54a377bd71e Mon Sep 17 00:00:00 2001
From: Thomas Richard <thomas.richard@kontron.com>
Date: Thu, 8 Oct 2020 14:35:24 +0200
Subject: [PATCH] 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>
---
 package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

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 8cbe9e97e79b..31c265614210 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
-- 
2.30.2