mirror of
https://github.com/openwrt/openwrt.git
synced 2025-04-22 18:12:00 +00:00
umbim: call umbim disconnect in error case
This is needed to properly close the control channel. Otherwise, on the next try the caps call may fail. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
This commit is contained in:
parent
2593d510e2
commit
049870a7fe
@ -65,6 +65,8 @@ _proto_mbim_setup() {
|
||||
echo "mbim[$$]" "Reading capabilities"
|
||||
umbim $DBG -n -d $device caps || {
|
||||
echo "mbim[$$]" "Failed to read modem caps"
|
||||
tid=$((tid + 1))
|
||||
umbim $DBG -t $tid -d "$device" disconnect
|
||||
proto_notify_error "$interface" PIN_FAILED
|
||||
return 1
|
||||
}
|
||||
@ -74,6 +76,8 @@ _proto_mbim_setup() {
|
||||
echo "mbim[$$]" "Sending pin"
|
||||
umbim $DBG -n -t $tid -d $device unlock "$pincode" || {
|
||||
echo "mbim[$$]" "Unable to verify PIN"
|
||||
tid=$((tid + 1))
|
||||
umbim $DBG -t $tid -d "$device" disconnect
|
||||
proto_notify_error "$interface" PIN_FAILED
|
||||
proto_block_restart "$interface"
|
||||
return 1
|
||||
@ -84,6 +88,8 @@ _proto_mbim_setup() {
|
||||
echo "mbim[$$]" "Checking pin"
|
||||
umbim $DBG -n -t $tid -d $device pinstate || {
|
||||
echo "mbim[$$]" "PIN required"
|
||||
tid=$((tid + 1))
|
||||
umbim $DBG -t $tid -d "$device" disconnect
|
||||
proto_notify_error "$interface" PIN_FAILED
|
||||
proto_block_restart "$interface"
|
||||
return 1
|
||||
@ -93,6 +99,8 @@ _proto_mbim_setup() {
|
||||
echo "mbim[$$]" "Checking subscriber"
|
||||
umbim $DBG -n -t $tid -d $device subscriber || {
|
||||
echo "mbim[$$]" "Subscriber init failed"
|
||||
tid=$((tid + 1))
|
||||
umbim $DBG -t $tid -d "$device" disconnect
|
||||
proto_notify_error "$interface" NO_SUBSCRIBER
|
||||
return 1
|
||||
}
|
||||
@ -101,6 +109,8 @@ _proto_mbim_setup() {
|
||||
echo "mbim[$$]" "Register with network"
|
||||
umbim $DBG -n -t $tid -d $device registration || {
|
||||
echo "mbim[$$]" "Subscriber registration failed"
|
||||
tid=$((tid + 1))
|
||||
umbim $DBG -t $tid -d "$device" disconnect
|
||||
proto_notify_error "$interface" NO_REGISTRATION
|
||||
return 1
|
||||
}
|
||||
@ -109,6 +119,8 @@ _proto_mbim_setup() {
|
||||
echo "mbim[$$]" "Attach to network"
|
||||
umbim $DBG -n -t $tid -d $device attach || {
|
||||
echo "mbim[$$]" "Failed to attach to network"
|
||||
tid=$((tid + 1))
|
||||
umbim $DBG -t $tid -d "$device" disconnect
|
||||
proto_notify_error "$interface" ATTACH_FAILED
|
||||
return 1
|
||||
}
|
||||
@ -169,7 +181,7 @@ proto_mbim_teardown() {
|
||||
|
||||
echo "mbim[$$]" "Stopping network"
|
||||
[ -n "$tid" ] && {
|
||||
umbim $DBG -t$tid -d "$device" disconnect
|
||||
umbim $DBG -t $tid -d "$device" disconnect
|
||||
uci_revert_state network $interface tid
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user