mirror of
https://gitlab.com/etherlab.org/ethercat.git
synced 2026-08-17 00:40:48 +08:00
Merge branch 'unload-ec-bhf-1.6' into 'stable-1.6'
[Backport] Unload ec_bhf before loadin ccat See merge request etherlab.org/ethercat!214
This commit is contained in:
@@ -9,6 +9,7 @@ repos:
|
||||
- id: trailing-whitespace
|
||||
- id: check-case-conflict
|
||||
- id: check-merge-conflict
|
||||
args: [--assume-in-merge]
|
||||
- id: check-symlinks
|
||||
- id: fix-byte-order-marker
|
||||
- id: mixed-line-ending
|
||||
|
||||
+17
-7
@@ -55,6 +55,15 @@ fi
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
std_module_name() {
|
||||
case "${1}" in
|
||||
ccat) echo "ec_bhf" ;; # standard driver has a different name
|
||||
*) echo "${1}" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
is_mac_address() {
|
||||
local x='[0-9a-fA-F]'
|
||||
echo "$1" | grep -qE "^($x$x:){5}$x$x\$" -
|
||||
@@ -136,10 +145,11 @@ start)
|
||||
continue # ec_* module not found
|
||||
fi
|
||||
|
||||
if [ "${MODULE}" != "generic" ] && [ "${MODULE}" != "ccat" ]; then
|
||||
if [ "${MODULE}" != "generic" ]; then
|
||||
STDMODULE=$(std_module_name "${MODULE}")
|
||||
# unload standard module and check if unloading was successful
|
||||
${RMMOD} "${MODULE}" 2> /dev/null || true
|
||||
if ${LSMOD} | grep "^${MODULE} " > /dev/null; then
|
||||
${RMMOD} "${STDMODULE}" 2> /dev/null || true
|
||||
if ${LSMOD} | grep "^${STDMODULE} " > /dev/null; then
|
||||
# could not unload module
|
||||
${RMMOD} ${LOADED_MODULES}
|
||||
exit 1
|
||||
@@ -147,8 +157,8 @@ start)
|
||||
fi
|
||||
|
||||
if ! ${MODPROBE} ${MODPROBE_FLAGS} "${ECMODULE}"; then
|
||||
if [ "${MODULE}" != "generic" ] && [ "${MODULE}" != "ccat" ]; then
|
||||
${MODPROBE} ${MODPROBE_FLAGS} "${MODULE}" # try to restore
|
||||
if [ "${MODULE}" != "generic" ]; then
|
||||
${MODPROBE} ${MODPROBE_FLAGS} "${STDMODULE}" # try to restore
|
||||
fi
|
||||
${RMMOD} ${LOADED_MODULES}
|
||||
exit 1
|
||||
@@ -178,10 +188,10 @@ stop)
|
||||
|
||||
# load standard modules again
|
||||
for MODULE in ${DEVICE_MODULES}; do
|
||||
if [ "${MODULE}" == "generic" ] || [ "${MODULE}" == "ccat" ]; then
|
||||
if [ "${MODULE}" == "generic" ]; then
|
||||
continue
|
||||
fi
|
||||
${MODPROBE} ${MODPROBE_FLAGS} "${MODULE}"
|
||||
${MODPROBE} ${MODPROBE_FLAGS} "$(std_module_name "${MODULE}")"
|
||||
done
|
||||
|
||||
# bring down all updown interfaces
|
||||
|
||||
Reference in New Issue
Block a user