http://bugs.dpdk.org/show_bug.cgi?id=1914
Bug ID: 1914
Summary: Inconsistent dpaa2 driver remove callback error
reporting
Product: DPDK
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: minor
Priority: Normal
Component: ethdev
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
For dpaa2 drivers, a return value is expected for the remove function.
struct rte_dpaa2_driver {
TAILQ_ENTRY(rte_dpaa2_driver) next; /**< Next in list. */
struct rte_driver driver; /**< Inherit core driver. */
uint32_t drv_flags; /**< Flags for controlling
device.*/
enum rte_dpaa2_dev_type drv_type; /**< Driver Type */
rte_dpaa2_probe_t probe;
rte_dpaa2_remove_t remove; <--------
};
typedef int (*rte_dpaa2_remove_t)(struct rte_dpaa2_device *dpaa2_dev);
On error, rte_dpaa2_remove and cryptodev_dpaa2_sec_remove callbacks return an
error.
However, dpaa2_qdma_remove callback logs the error and returns success.
In the current code, return value is not checked in fslmc_bus_unplug and if it
failed, it clears the driver reference and incorrectly logs that it was
unplugged.
In fslmc_close_iodevices the return value only impacts logging.
The remove callback return values should be made consistent, and return check
added to fslmc_bus_unplug.
--
You are receiving this mail because:
You are the assignee for the bug.