Skip to content

Commit 88e47c9

Browse files
minakuba-moo
authored andcommitted
net: devmem: move list_add to net_devmem_bind_dmabuf.
It's annoying for the list_add to be outside net_devmem_bind_dmabuf, but the list_del is in net_devmem_unbind_dmabuf. Make it consistent by having both the list_add/del be inside the net_devmem_[un]bind_dmabuf. Cc: [email protected] Signed-off-by: Mina Almasry <[email protected]> Tested-by: Taehee Yoo <[email protected]> Acked-by: Stanislav Fomichev <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 429d410 commit 88e47c9

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

net/core/devmem.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,8 @@ int net_devmem_bind_dmabuf_to_queue(struct net_device *dev, u32 rxq_idx,
178178
struct net_devmem_dmabuf_binding *
179179
net_devmem_bind_dmabuf(struct net_device *dev,
180180
enum dma_data_direction direction,
181-
unsigned int dmabuf_fd, struct netlink_ext_ack *extack)
181+
unsigned int dmabuf_fd, struct netdev_nl_sock *priv,
182+
struct netlink_ext_ack *extack)
182183
{
183184
struct net_devmem_dmabuf_binding *binding;
184185
static u32 id_alloc_next;
@@ -299,6 +300,8 @@ net_devmem_bind_dmabuf(struct net_device *dev,
299300
if (err < 0)
300301
goto err_free_chunks;
301302

303+
list_add(&binding->list, &priv->bindings);
304+
302305
return binding;
303306

304307
err_free_chunks:

net/core/devmem.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#define _NET_DEVMEM_H
1212

1313
#include <net/netmem.h>
14+
#include <net/netdev_netlink.h>
1415

1516
struct netlink_ext_ack;
1617

@@ -82,7 +83,8 @@ void __net_devmem_dmabuf_binding_free(struct work_struct *wq);
8283
struct net_devmem_dmabuf_binding *
8384
net_devmem_bind_dmabuf(struct net_device *dev,
8485
enum dma_data_direction direction,
85-
unsigned int dmabuf_fd, struct netlink_ext_ack *extack);
86+
unsigned int dmabuf_fd, struct netdev_nl_sock *priv,
87+
struct netlink_ext_ack *extack);
8688
struct net_devmem_dmabuf_binding *net_devmem_lookup_dmabuf(u32 id);
8789
void net_devmem_unbind_dmabuf(struct net_devmem_dmabuf_binding *binding);
8890
int net_devmem_bind_dmabuf_to_queue(struct net_device *dev, u32 rxq_idx,
@@ -170,6 +172,7 @@ static inline void __net_devmem_dmabuf_binding_free(struct work_struct *wq)
170172
static inline struct net_devmem_dmabuf_binding *
171173
net_devmem_bind_dmabuf(struct net_device *dev, unsigned int dmabuf_fd,
172174
enum dma_data_direction direction,
175+
struct netdev_nl_sock *priv,
173176
struct netlink_ext_ack *extack)
174177
{
175178
return ERR_PTR(-EOPNOTSUPP);

net/core/netdev-genl.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -908,7 +908,7 @@ int netdev_nl_bind_rx_doit(struct sk_buff *skb, struct genl_info *info)
908908
}
909909

910910
binding = net_devmem_bind_dmabuf(netdev, DMA_FROM_DEVICE, dmabuf_fd,
911-
info->extack);
911+
priv, info->extack);
912912
if (IS_ERR(binding)) {
913913
err = PTR_ERR(binding);
914914
goto err_unlock;
@@ -943,8 +943,6 @@ int netdev_nl_bind_rx_doit(struct sk_buff *skb, struct genl_info *info)
943943
goto err_unbind;
944944
}
945945

946-
list_add(&binding->list, &priv->bindings);
947-
948946
nla_put_u32(rsp, NETDEV_A_DMABUF_ID, binding->id);
949947
genlmsg_end(rsp, hdr);
950948

@@ -1020,15 +1018,13 @@ int netdev_nl_bind_tx_doit(struct sk_buff *skb, struct genl_info *info)
10201018
goto err_unlock_netdev;
10211019
}
10221020

1023-
binding = net_devmem_bind_dmabuf(netdev, DMA_TO_DEVICE, dmabuf_fd,
1021+
binding = net_devmem_bind_dmabuf(netdev, DMA_TO_DEVICE, dmabuf_fd, priv,
10241022
info->extack);
10251023
if (IS_ERR(binding)) {
10261024
err = PTR_ERR(binding);
10271025
goto err_unlock_netdev;
10281026
}
10291027

1030-
list_add(&binding->list, &priv->bindings);
1031-
10321028
nla_put_u32(rsp, NETDEV_A_DMABUF_ID, binding->id);
10331029
genlmsg_end(rsp, hdr);
10341030

0 commit comments

Comments
 (0)