#!/bin/sh

# Copyright (c) 2020, Sierra Wireless Inc. All rights reserved.

#As Qualcomm design is to shut down modem first when system shutdown/reboot.
#The disconnection of rmnet(usb function) needs to communicate with modem,
#so Qualcomm design may trigger the subsystem restart when disconnecting rmnet.
#To avoid the issue, we need to disconnect rmnet before modem shutdown,
#the solution is to disable usb, which will disconnect rmnet immediately, before modem shutdown

# disable usb in order per write-permission / existence
# 1. configfs gadget (msm-4.14)
usb_configfs_ea=/sys/kernel/config/usb_gadget/g1/UDC
# 2. android gadget (msm-3.18)
usb_android_ea=/sys/class/android_usb/android0/enable

[ -w $usb_configfs_ea ] && echo "" > $usb_configfs_ea
[ -w $usb_android_ea ] && echo 0 > $usb_android_ea

qmi_shutdown_modem --immediately
