From 02767e9f2eaf7ccfc4079f83d467ad2d3faee203 Mon Sep 17 00:00:00 2001 From: Radu Nicolau Date: Thu, 23 Feb 2017 14:28:49 +0000 Subject: [PATCH] Fixed QAT device binding and device unbinding when vpp package is removed Change-Id: I35ad6a42093cad0945df1df09a39c63c4560dce6 Signed-off-by: Radu Nicolau --- build-root/deb/debian/vpp.postrm | 2 +- build-root/rpm/vpp.spec | 2 +- src/vnet/devices/dpdk/init.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build-root/deb/debian/vpp.postrm b/build-root/deb/debian/vpp.postrm index ac16a459d0f..24b4842fd0a 100644 --- a/build-root/deb/debian/vpp.postrm +++ b/build-root/deb/debian/vpp.postrm @@ -7,7 +7,7 @@ pci_dirs=`find /sys/bus/pci/drivers -type d -name igb_uio -o -name uio_pci_gener for d in $pci_dirs; do for f in ${d}/*; do [ -e "${f}/config" ] || continue - echo 1 > ${f}/remove + echo ${f##*/} > ${d}/unbind basename `dirname ${f}` | xargs echo -n "Removing driver"; echo " for PCI ID" `basename ${f}` removed=y done diff --git a/build-root/rpm/vpp.spec b/build-root/rpm/vpp.spec index 95196e9be6e..7bc18ca4e8f 100644 --- a/build-root/rpm/vpp.spec +++ b/build-root/rpm/vpp.spec @@ -244,7 +244,7 @@ pci_dirs=`find /sys/bus/pci/drivers -type d -name igb_uio -o -name uio_pci_gener for d in $pci_dirs; do for f in ${d}/*; do [ -e "${f}/config" ] || continue - echo 1 > ${f}/remove + echo ${f##*/} > ${d}/unbind basename `dirname ${f}` | xargs echo -n "Removing driver"; echo " for PCI ID" `basename ${f}` removed=y done diff --git a/src/vnet/devices/dpdk/init.c b/src/vnet/devices/dpdk/init.c index 7249cc52e9b..c50c0659696 100755 --- a/src/vnet/devices/dpdk/init.c +++ b/src/vnet/devices/dpdk/init.c @@ -858,7 +858,7 @@ dpdk_bind_devices_to_uio (dpdk_config_main_t * conf) vec_reset_length (pci_addr); pci_addr = format (pci_addr, "%U%c", format_vlib_pci_addr, &d->bus_address, 0); - if (d->device_class != PCI_CLASS_NETWORK_ETHERNET) + if (d->device_class != PCI_CLASS_NETWORK_ETHERNET && d->device_class != PCI_CLASS_PROCESSOR_CO) continue; if (num_whitelisted) -- 2.16.6