diff options
| author | Jakub Kicinski <[email protected]> | 2025-05-15 18:22:32 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2025-05-15 18:28:30 +0000 |
| commit | bebd7b262638af611a0e699ba37c43ec2238801b (patch) | |
| tree | 361c8116078d4923b630a5bff78614d136ba5716 /net/core/devmem.c | |
| parent | net: prestera: Use to_delayed_work() (diff) | |
| parent | Merge tag 'net-6.15-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/net... (diff) | |
| download | kernel-bebd7b262638af611a0e699ba37c43ec2238801b.tar.gz kernel-bebd7b262638af611a0e699ba37c43ec2238801b.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR (net-6.15-rc7).
Conflicts:
tools/testing/selftests/drivers/net/hw/ncdevmem.c
97c4e094a4b2 ("tests/ncdevmem: Fix double-free of queue array")
2f1a805f32ba ("selftests: ncdevmem: Implement devmem TCP TX")
https://lore.kernel.org/[email protected]
Adjacent changes:
net/core/devmem.c
net/core/devmem.h
0afc44d8cdf6 ("net: devmem: fix kernel panic when netlink socket close after module unload")
bd61848900bf ("net: devmem: Implement TX path")
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/core/devmem.c')
| -rw-r--r-- | net/core/devmem.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/core/devmem.c b/net/core/devmem.c index 88065e5ef651..0dba26baae18 100644 --- a/net/core/devmem.c +++ b/net/core/devmem.c @@ -204,6 +204,8 @@ net_devmem_bind_dmabuf(struct net_device *dev, refcount_set(&binding->ref, 1); + mutex_init(&binding->lock); + binding->dmabuf = dmabuf; binding->attachment = dma_buf_attach(binding->dmabuf, dev->dev.parent); @@ -470,6 +472,11 @@ static void mp_dmabuf_devmem_uninstall(void *mp_priv, xa_for_each(&binding->bound_rxqs, xa_idx, bound_rxq) { if (bound_rxq == rxq) { xa_erase(&binding->bound_rxqs, xa_idx); + if (xa_empty(&binding->bound_rxqs)) { + mutex_lock(&binding->lock); + binding->dev = NULL; + mutex_unlock(&binding->lock); + } break; } } |
