From 2d6244d251d16d48799b37d70c43ba6a56538c15 Mon Sep 17 00:00:00 2001 From: Vladimir Sokolovsky Date: Tue, 7 Jul 2015 09:34:52 +0300 Subject: [PATCH] openibd: Unload in-box drivers upon boot in-box drivers can be loaded from initramfs before openibd starts. openibd will check if loaded kernel modules are coming from in-box and will unload them in order to load OFED kernel modules. issue: http://bugs.openfabrics.org/bugzilla/show_bug.cgi?id=2557 Signed-off-by: Vladimir Sokolovsky --- ofed_scripts/openibd | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ofed_scripts/openibd b/ofed_scripts/openibd index d17404e..e2c5782 100644 --- a/ofed_scripts/openibd +++ b/ofed_scripts/openibd @@ -760,15 +760,17 @@ start() fi # W/A: inbox drivers are loaded at boot instead of new ones - local mlxko=$(/sbin/lsmod 2>/dev/null | grep '^mlx' | head -1 | awk '{print $NR}') - if [ "X$mlxko" != "X" ]; then - local loaded_srcver=$(/bin/cat /sys/module/$mlxko/srcversion 2>/dev/null) - local curr_srcver=$(/sbin/modinfo $mlxko 2>/dev/null | grep srcversion | awk '{print $NF}') + local loaded_modules=$(/sbin/lsmod 2>/dev/null | grep -E '^be2net|^cxgb|^mlx|^iw_nes|^iw_cxgb|^ib_qib|^ib_mthca|^ocrdma|^ib_ipoib|^ib_srp|^ib_iser|^ib_uverbs|^ib_addr|^ib_mad|^ib_sa|^iw_cm|^ib_core|^ib_ucm|^ib_cm|^rdma_ucm|^ib_umad|^rdma_cm|^compat' | awk '{print $1}') + for loaded_module in $loaded_modules + do + local loaded_srcver=$(/bin/cat /sys/module/$loaded_module/srcversion 2>/dev/null) + local curr_srcver=$(/sbin/modinfo $loaded_module 2>/dev/null | grep srcversion | awk '{print $NF}') if [ "X$loaded_srcver" != "X$curr_srcver" ]; then - log_msg "start(): Detected loaded old version of module '$mlxko', calling stop..." + log_msg "start(): Detected loaded old version of module '$loaded_module', calling stop..." stop + break fi - fi + done # W/A: modules loaded from initrd without taking new params from /etc/modprobe.d/ local conf_files=$(grep -rE "options.*mlx" /etc/modprobe.d/*.conf 2>/dev/null | grep -v ":#" | cut -d":" -f"1" | uniq) -- 2.41.0