diff --git a/dpdk.spec b/dpdk.spec index f891b955381765d1a36c92cadfda7f78b00bebfb..8dfd5aca1a875ee2ef9d159fd0fdd3a28739f7ab 100644 --- a/dpdk.spec +++ b/dpdk.spec @@ -1,6 +1,6 @@ Name: dpdk Version: 19.11 -Release: 24 +Release: 25 Packager: packaging@6wind.com URL: http://dpdk.org %global source_version 19.11 @@ -53,6 +53,7 @@ Patch6004: backport-gro-fix-chain-index-for-more-than-2-packets.patch Patch6005: backport-gro-trim-tail-padding-bytes.patch Patch6006: backport-gro-check-payload-length-after-trim.patch Patch6007: backport-net-hinic-fix-crash-in-secondary-process.patch +Patch6008: fix-virtio-hardthrough-scenes-device-init-bug.patch Summary: Data Plane Development Kit core Group: System Environment/Libraries @@ -222,6 +223,9 @@ strip -g $RPM_BUILD_ROOT/lib/modules/${namer}/extra/dpdk/rte_kni.ko /usr/sbin/depmod %changelog +* Sat Dec 3 2022 wangzongchao - 19.11-25 +- fix the virtio hardthrough scenes device init bug + * Tue Nov 15 2022 jiangheng - 19.11-24 - proc-info: build gazelle-proc-info for gazelle diff --git a/fix-virtio-hardthrough-scenes-device-init-bug.patch b/fix-virtio-hardthrough-scenes-device-init-bug.patch new file mode 100644 index 0000000000000000000000000000000000000000..3a5d5e9546b39f2796a285452b0df85bd822602a --- /dev/null +++ b/fix-virtio-hardthrough-scenes-device-init-bug.patch @@ -0,0 +1,45 @@ +From c168e40a0b80b02976ed1698339bc5182b2c0f39 Mon Sep 17 00:00:00 2001 +From: root +Date: Sat, 3 Dec 2022 15:13:22 +0800 +Subject: [PATCH] fix virtio hardthrough scenes device init bug + +--- + drivers/net/virtio/virtio_ethdev.c | 1 + + drivers/net/virtio/virtio_pci.c | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c +index 89e4c23..b54abe5 100644 +--- a/drivers/net/virtio/virtio_ethdev.c ++++ b/drivers/net/virtio/virtio_ethdev.c +@@ -1331,6 +1331,7 @@ virtio_negotiate_features(struct virtio_hw *hw, uint64_t req_features) + req_features); + + /* Read device(host) feature bits */ ++ usleep(3000); + host_features = VTPCI_OPS(hw)->get_features(hw); + PMD_INIT_LOG(DEBUG, "host_features before negotiate = %" PRIx64, + host_features); +diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c +index 4468e89..2fade8f 100644 +--- a/drivers/net/virtio/virtio_pci.c ++++ b/drivers/net/virtio/virtio_pci.c +@@ -2,6 +2,7 @@ + * Copyright(c) 2010-2014 Intel Corporation + */ + #include ++#include + + #ifdef RTE_EXEC_ENV_LINUX + #include +@@ -472,6 +473,7 @@ vtpci_reset(struct virtio_hw *hw) + { + VTPCI_OPS(hw)->set_status(hw, VIRTIO_CONFIG_STATUS_RESET); + /* flush status write */ ++ usleep(1000); + VTPCI_OPS(hw)->get_status(hw); + } + +-- +2.27.0 +