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:
Florian Pose
2026-08-13 15:10:37 +02:00
2 changed files with 18 additions and 7 deletions
+1
View File
@@ -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
View File
@@ -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