On Fri, 2020-07-24 at 21:00 +0800, Wang Hai wrote:
> Remove casting the values returned by memory allocation function.
>
> Coccinelle emits WARNING:
>
> ./drivers/net/ethernet/cavium/liquidio/octeon_device.c:1155:14-36: WARNING:
> casting value returned by memory allocation function to (struct
> octeon_dispatch *) is useless.
[]
> diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_device.c
> b/drivers/net/ethernet/cavium/liquidio/octeon_device.c
[]
> @@ -1152,8 +1152,7 @@ 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));
> + dispatch = vmalloc(sizeof(struct octeon_dispatch));
More the question is why this is vmalloc at all
as the structure size is very small.
Likely this should just be kmalloc.
drivers/net/ethernet/cavium/liquidio/octeon_device.h:struct octeon_dispatch {
drivers/net/ethernet/cavium/liquidio/octeon_device.h- /** List head for this
entry */
drivers/net/ethernet/cavium/liquidio/octeon_device.h- struct list_head list;
drivers/net/ethernet/cavium/liquidio/octeon_device.h-
drivers/net/ethernet/cavium/liquidio/octeon_device.h- /** The opcode for
which the dispatch function & arg should be used */
drivers/net/ethernet/cavium/liquidio/octeon_device.h- u16 opcode;
drivers/net/ethernet/cavium/liquidio/octeon_device.h-
drivers/net/ethernet/cavium/liquidio/octeon_device.h- /** The function to be
called for a packet received by the driver */
drivers/net/ethernet/cavium/liquidio/octeon_device.h- octeon_dispatch_fn_t
dispatch_fn;
drivers/net/ethernet/cavium/liquidio/octeon_device.h-
drivers/net/ethernet/cavium/liquidio/octeon_device.h- /* The application
specified argument to be passed to the above
drivers/net/ethernet/cavium/liquidio/octeon_device.h- * function along with
the received packet
drivers/net/ethernet/cavium/liquidio/octeon_device.h- */
drivers/net/ethernet/cavium/liquidio/octeon_device.h- void *arg;
drivers/net/ethernet/cavium/liquidio/octeon_device.h-}
> if (!dispatch) {
> dev_err(&oct->pci_dev->dev,
> "No memory to add dispatch function\n");
And this dev_err is unnecessary.