IB/hfi1: allocate dummy net_device dynamically
authorBreno Leitao <leitao@debian.org>
Tue, 30 Apr 2024 16:22:11 +0000 (09:22 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 3 May 2024 01:20:17 +0000 (18:20 -0700)
commit1c8f43f477d92fda15bccd703b808cd46899cd3c
tree564689bf877cffa3303fdc97ab1bb3fafb5a0ace
parent3d549c382297f4d7646e327c817107a88d3f931b
IB/hfi1: allocate dummy net_device dynamically

Embedding net_device into structures prohibits the usage of flexible
arrays in the net_device structure. For more details, see the discussion
at [1].

Un-embed the net_device from struct hfi1_netdev_rx by converting it
into a pointer. Then use the leverage alloc_netdev() to allocate the
net_device object at hfi1_alloc_rx().

[1] https://lore.kernel.org/all/20240229225910.79e224cf@kernel.org/

Acked-by: Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
Signed-off-by: Breno Leitao <leitao@debian.org>
Acked-by: Leon Romanovsky <leon@kernel.org>
Link: https://lore.kernel.org/r/20240430162213.746492-1-leitao@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/infiniband/hw/hfi1/netdev.h
drivers/infiniband/hw/hfi1/netdev_rx.c