OSDN Git Service

liquidio: Replace vmalloc with kmalloc in octeon_register_dispatch_fn()
authorWang Hai <wanghai38@huawei.com>
Thu, 30 Jul 2020 06:11:40 +0000 (14:11 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 31 Jul 2020 00:40:11 +0000 (17:40 -0700)
The size of struct octeon_dispatch is too small, it is better to use
kmalloc instead of vmalloc.

Suggested-by: Joe Perches <joe@perches.com>
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/octeon_device.c

index 934115d..ac32fac 100644 (file)
@@ -1056,7 +1056,7 @@ void octeon_delete_dispatch_list(struct octeon_device *oct)
 
        list_for_each_safe(temp, tmp2, &freelist) {
                list_del(temp);
-               vfree(temp);
+               kfree(temp);
        }
 }
 
@@ -1152,13 +1152,10 @@ octeon_register_dispatch_fn(struct octeon_device *oct,
 
                dev_dbg(&oct->pci_dev->dev,
                        "Adding opcode to dispatch list linked list\n");
-               dispatch = (struct octeon_dispatch *)
-                          vmalloc(sizeof(struct octeon_dispatch));
-               if (!dispatch) {
-                       dev_err(&oct->pci_dev->dev,
-                               "No memory to add dispatch function\n");
+               dispatch = kmalloc(sizeof(*dispatch), GFP_KERNEL);
+               if (!dispatch)
                        return 1;
-               }
+
                dispatch->opcode = combined_opcode;
                dispatch->dispatch_fn = fn;
                dispatch->arg = fn_arg;