scripts/setup: Define fallback driver for each device type

Most distros ship these drivers as modules, however, some, like
clearlinux, have them compiled directly in the kernel (e.g. nvme).

In case modalias lookup fails, have a fallback prepared just in case.

Change-Id: Ib9da8ff69edbb0c4ce427aa089fa7d04b399a20b
Signed-off-by: Michal Berger <michalx.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4047
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Michal Berger 2020-09-03 13:46:56 +02:00 committed by Tomasz Zawadzki
parent d6c499f3ee
commit 342c08d0b0

View File

@ -421,11 +421,12 @@ function reset_linux_pci() {
for bdf in "${!all_devices_d[@]}"; do
((all_devices_d["$bdf"] == 0)) || continue
if [[ -n ${virtio_d["$bdf"]} ]]; then
driver=$(collect_driver "$bdf" virtio-pci)
else
driver=$(collect_driver "$bdf")
fi
[[ -n ${nvme_d["$bdf"]} ]] && fallback_driver=nvme
[[ -n ${ioat_d["$bdf"]} ]] && fallback_driver=ioatdma
[[ -n ${idxd_d["$bdf"]} ]] && fallback_driver=idxd
[[ -n ${virtio_d["$bdf"]} ]] && fallback_driver=virtio-pci
[[ -n ${vmd_d["$bdf"]} ]] && fallback_driver=vmd
driver=$(collect_driver "$bdf" "$fallback_driver")
if ! check_for_driver "$driver"; then
linux_bind_driver "$bdf" "$driver"