The current implementation only checked if uqmi itself executed correctly which is also the case when the returned value is actually an error.
Rework this, checking that CID is a numeric value, which can only be true if uqmi itself also executed correctly. Signed-off-by: Koen Vandeputte <koen.vandepu...@ncentric.com> --- package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 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 c3da5ede26b1..46ea134182e3 100755 --- a/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh +++ b/package/network/utils/uqmi/files/lib/netifd/proto/qmi.sh @@ -140,11 +140,11 @@ proto_qmi_setup() { [ "$pdptype" = "ip" -o "$pdptype" = "ipv4v6" ] && { cid_4=$(uqmi -s -d "$device" --get-client-id wds) - [ $? -ne 0 ] && { + if ! [ "$cid_4" -eq "$cid_4" ] 2> /dev/null; then echo "Unable to obtain client ID" proto_notify_error "$interface" NO_CID return 1 - } + fi uqmi -s -d "$device" --set-client-id wds,"$cid_4" --set-ip-family ipv4 > /dev/null @@ -177,11 +177,11 @@ proto_qmi_setup() { [ "$pdptype" = "ipv6" -o "$pdptype" = "ipv4v6" ] && { cid_6=$(uqmi -s -d "$device" --get-client-id wds) - [ $? -ne 0 ] && { + if ! [ "$cid_6" -eq "$cid_6" ] 2> /dev/null; then echo "Unable to obtain client ID" proto_notify_error "$interface" NO_CID return 1 - } + fi uqmi -s -d "$device" --set-client-id wds,"$cid_6" --set-ip-family ipv6 > /dev/null -- 2.7.4 _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev