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.

Reply via email to