projects
/
openwrt
/
svn-archive
/
archive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[package] comgt: move 3g hotplug handling to tty subsystem, fixes race on coldplug...
[openwrt/svn-archive/archive.git]
/
package
/
comgt
/
files
/
3g.usb
diff --git
a/package/comgt/files/3g.usb
b/package/comgt/files/3g.usb
index ecaa96f85b153c584497d1467fcffb7b8a42006c..ea2fba1509112cf8cec893e20bfae06646e3b3d9 100644
(file)
--- a/
package/comgt/files/3g.usb
+++ b/
package/comgt/files/3g.usb
@@
-22,8
+22,11
@@
find_3g_iface() {
config_get dev "$cfg" device
if [ "${dev##*/}" = "${tty##*/}" ]; then
config_get dev "$cfg" device
if [ "${dev##*/}" = "${tty##*/}" ]; then
- log "Starting interface $cfg for device ${tty##*/}"
- ( sleep 1; /sbin/ifup "$cfg" ) &
+ [ -z "$(ls /var/lock | grep ${dev##*/})" ] && {
+ log "Starting interface $cfg for device ${dev##*/}"
+ sleep 1
+ /sbin/ifup "$cfg"
+ }
fi
}
}
fi
}
}
@@
-31,13
+34,13
@@
find_3g_iface() {
if [ "$ACTION" = add ]; then
case "$DEVICENAME" in
if [ "$ACTION" = add ]; then
case "$DEVICENAME" in
-
*-*:*.
*) config_load network;;
+
tty
*) config_load network;;
*) exit 0;;
esac
local tty
*) exit 0;;
esac
local tty
- for tty in /
sys/$DEVPATH/ttyUSB* /sys/$DEVPATH/tty/ttyACM*;
; do
- [ -
d
"$tty" ] || continue
+ for tty in /
dev/ttyUSB* /dev/ttyACM* /dev/ttyHS*
; do
+ [ -
e
"$tty" ] || continue
config_foreach find_3g_iface interface "$tty"
done
fi
config_foreach find_3g_iface interface "$tty"
done
fi