aboutsummaryrefslogtreecommitdiffstats
path: root/build-root/scripts/pci-nic-bind-to-kernel
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2016-10-06 16:53:32 +0200
committerDamjan Marion <damarion@cisco.com>2016-10-06 16:53:32 +0200
commitf0ccbb02fd48325c3ccab66993b277f95bdbe2c1 (patch)
tree562c84e9c4de7597cbac8245100e5164f5b7d3c6 /build-root/scripts/pci-nic-bind-to-kernel
parent3f993a6f07bcfd1aff360276c3696bb3909b2fa9 (diff)
Add some useful scripts
Change-Id: Ic7ae9b43020ab4d26214bfab71b19ee259771c52 Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'build-root/scripts/pci-nic-bind-to-kernel')
-rwxr-xr-xbuild-root/scripts/pci-nic-bind-to-kernel19
1 files changed, 19 insertions, 0 deletions
diff --git a/build-root/scripts/pci-nic-bind-to-kernel b/build-root/scripts/pci-nic-bind-to-kernel
new file mode 100755
index 00000000..3d8559e3
--- /dev/null
+++ b/build-root/scripts/pci-nic-bind-to-kernel
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# Bind all unused PCI devices bound to uio drivers
+# back to default kernel driver
+
+if [ $USER != "root" ] ; then
+ echo "Restarting script with sudo..."
+ sudo $0 ${*}
+ exit
+fi
+
+for f in /sys/bus/pci/drivers/{igb_uio,uio_pci_generic,vfio-pci}/*; do
+ [ -e ${f}/config ] || continue
+ fuser -s ${f}/config && continue
+ echo 1 > ${f}/remove
+ removed=y
+done
+
+[ -n ${removed} ] && echo 1 > /sys/bus/pci/rescan