Some device drivers want to allocate their own private memory, and should
be allowed to do so. Therefore skip memory allocation and associated error
checks if zero-length private memory is requested.

While adjusting the code for new indent level, fix incorrect error
message.

Cc: Shreyansh Jain <shreyansh.j...@nxp.com>
Cc: Hemant Agrawal <hemant.agra...@nxp.com>
Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
 lib/librte_rawdev/rte_rawdev.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c
index 15de2d413..b6f1e1c77 100644
--- a/lib/librte_rawdev/rte_rawdev.c
+++ b/lib/librte_rawdev/rte_rawdev.c
@@ -496,16 +496,17 @@ rte_rawdev_pmd_allocate(const char *name, size_t 
dev_priv_size, int socket_id)
 
        rawdev = &rte_rawdevs[dev_id];
 
-       rawdev->dev_private = rte_zmalloc_socket("rawdev private",
+       if (dev_priv_size > 0) {
+               rawdev->dev_private = rte_zmalloc_socket("rawdev private",
                                     dev_priv_size,
                                     RTE_CACHE_LINE_SIZE,
                                     socket_id);
-       if (!rawdev->dev_private) {
-               RTE_RDEV_ERR("Unable to allocate memory to Skeleton dev");
-               return NULL;
+               if (!rawdev->dev_private) {
+                       RTE_RDEV_ERR("Unable to allocate memory for rawdev");
+                       return NULL;
+               }
        }
 
-
        rawdev->dev_id = dev_id;
        rawdev->socket_id = socket_id;
        rawdev->started = 0;
-- 
2.21.0

Reply via email to