[dpdk-stable] [PATCH v1] bus/fslmc: fix find device start condition
Gaetan Rivet
gaetan.rivet at 6wind.com
Thu Mar 22 11:28:44 CET 2018
If start is set and a device before it matches the data,
this device is returned.
Fixes: c7fe1eea8a74 ("bus: simplify finding starting point")
Cc: stable at dpdk.org
Cc: Hemant Agrawal <hemant.agrawal at nxp.com>
Cc: Shreyansh Jain <shreyansh.jain at nxp.com>
Signed-off-by: Gaetan Rivet <gaetan.rivet at 6wind.com>
---
Hi Shreyansh, Hemant,
Sorry, I did not test this.
I found this issue while working on vdev and PCI.
There is a better way to iterate on devices [1], but the gain
is really minimal and the implementation slightly more complex.
I preferred to avoid complex, as I could not test this patch.
Regards,
[1]: http://dpdk.org/ml/archives/dev/2018-March/092906.html
drivers/bus/fslmc/fslmc_bus.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c
index 5ee0beb85..010dd474e 100644
--- a/drivers/bus/fslmc/fslmc_bus.c
+++ b/drivers/bus/fslmc/fslmc_bus.c
@@ -301,8 +301,9 @@ rte_fslmc_find_device(const struct rte_device *start, rte_dev_cmp_t cmp,
struct rte_dpaa2_device *dev;
TAILQ_FOREACH(dev, &rte_fslmc_bus.device_list, next) {
- if (start && &dev->device == start) {
- start = NULL; /* starting point found */
+ if (start != NULL) {
+ if (&dev->device == start)
+ start = NULL; /* starting point found */
continue;
}
--
2.11.0
More information about the stable
mailing list