diff options
author | Juraj Linkeš <juraj.linkes@pantheon.tech> | 2020-11-13 13:46:20 +0100 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2020-12-04 10:11:26 +0000 |
commit | 71d7150a65a7c006bf46b2c1001dbaa00b5681fb (patch) | |
tree | 38196d2a8c76a9f07eeea587f23c0dab5432aa16 /resources/libraries/bash | |
parent | 938d89a6d00a6bd4e2dd9ca870d0f1e62f144f93 (diff) |
vpp_device: fix vpp device kernel driver binding
Attempt to unbind a driver from a device only if it is bound to a
driver.
Remove the dynamic addition of an existing device ID to a driver. From
the docs [0]:
Writing a device ID to this file will attempt to
dynamically add a new device ID to a PCI device driver.
Since we assume the VFs are bound to the kernel driver when VPP Device
topology creation is done, it implies that the kernel driver supports
the device ID of those VFs, removing the need to add the support.
[0]: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-bus-pci
Change-Id: I20f3ca071a5a84a06ff358ba514532248a8f9ad0
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Diffstat (limited to 'resources/libraries/bash')
-rw-r--r-- | resources/libraries/bash/function/device.sh | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/resources/libraries/bash/function/device.sh b/resources/libraries/bash/function/device.sh index d9af5fff1a..729a837b33 100644 --- a/resources/libraries/bash/function/device.sh +++ b/resources/libraries/bash/function/device.sh @@ -98,15 +98,11 @@ function bind_interfaces_to_driver () { pci_path="/sys/bus/pci/devices/${ADDR}" drv_path="/sys/bus/pci/drivers/${DRIVER}" - vd=$(cat ${pci_path}/vendor ${pci_path}/device) || { - die "Failed to retrieve interface details!" - } - set +e - echo ${vd} | sudo tee ${drv_path}/new_id - set -e - echo ${ADDR} | sudo tee ${pci_path}/driver/unbind || { - die "Failed to unbind interface ${ADDR}!" - } + if [ -d "${pci_path}/driver" ]; then + echo ${ADDR} | sudo tee ${pci_path}/driver/unbind || { + die "Failed to unbind interface ${ADDR}!" + } + fi echo ${ADDR} | sudo tee ${drv_path}/bind || { die "Failed to bind interface ${ADDR}!" } |