aboutsummaryrefslogtreecommitdiff
path: root/drivers/infiniband/hw/hfi1/netdev.h
diff options
context:
space:
mode:
authorBreno Leitao <leitao@debian.org>2024-04-30 09:22:11 -0700
committerJakub Kicinski <kuba@kernel.org>2024-05-02 18:20:17 -0700
commit1c8f43f477d92fda15bccd703b808cd46899cd3c (patch)
tree564689bf877cffa3303fdc97ab1bb3fafb5a0ace /drivers/infiniband/hw/hfi1/netdev.h
parent3d549c382297f4d7646e327c817107a88d3f931b (diff)
downloadlinux-1c8f43f477d92fda15bccd703b808cd46899cd3c.tar.gz
linux-1c8f43f477d92fda15bccd703b808cd46899cd3c.tar.bz2
linux-1c8f43f477d92fda15bccd703b808cd46899cd3c.zip
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>
Diffstat (limited to 'drivers/infiniband/hw/hfi1/netdev.h')
-rw-r--r--drivers/infiniband/hw/hfi1/netdev.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/hfi1/netdev.h b/drivers/infiniband/hw/hfi1/netdev.h
index 8aa074670a9c..07c8f77c9181 100644
--- a/drivers/infiniband/hw/hfi1/netdev.h
+++ b/drivers/infiniband/hw/hfi1/netdev.h
@@ -49,7 +49,7 @@ struct hfi1_netdev_rxq {
* When 0 receive queues will be freed.
*/
struct hfi1_netdev_rx {
- struct net_device rx_napi;
+ struct net_device *rx_napi;
struct hfi1_devdata *dd;
struct hfi1_netdev_rxq *rxq;
int num_rx_q;