blob: ac16a459d0f512e677ad652368414ab8e23dac86 [file] [log] [blame]
Peter Ginchevdfa9c5b2016-10-11 15:34:24 +03001#!/bin/sh -e
2
3removed=
4
5# Unbind user-mode PCI drivers
6pci_dirs=`find /sys/bus/pci/drivers -type d -name igb_uio -o -name uio_pci_generic -o -name vfio-pci`
7for d in $pci_dirs; do
8 for f in ${d}/*; do
9 [ -e "${f}/config" ] || continue
10 echo 1 > ${f}/remove
11 basename `dirname ${f}` | xargs echo -n "Removing driver"; echo " for PCI ID" `basename ${f}`
12 removed=y
13 done
14done
15if [ -n "${removed}" ]; then
16 echo "There are changes in PCI drivers, rescaning"
17 echo 1 > /sys/bus/pci/rescan
18else
19 echo "There weren't PCI devices binded"
20fi
21