diff options
author | Mark Brown <broonie@kernel.org> | 2024-11-14 15:36:46 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-11-14 15:36:46 +0000 |
commit | 9a5a75bf1f485e2d109303a996d147b94c5e79c9 (patch) | |
tree | f931f0d17bef0b6ad980aaf3d2d8b874ef2b749c /net/9p/client.c | |
parent | f3f9f0de30a5106078cd610f80eaa6f9386b2186 (diff) | |
parent | 3b7e11a0116c30848d44429650ad80f9cc3bd963 (diff) |
ASoc: simple-mux: Allow to specify an idle-state
Merge series from "Hendrik v. Raven" <h.v.raven@merzmedtech.de>:
This series adds support for the idle-state property from the mux
framework to the simple-mux audio variant. It allows to specify the state
of the mux when it is not in use.
Diffstat (limited to 'net/9p/client.c')
-rw-r--r-- | net/9p/client.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/net/9p/client.c b/net/9p/client.c index 5cd94721d974..09f8ced9f8bb 100644 --- a/net/9p/client.c +++ b/net/9p/client.c @@ -977,8 +977,10 @@ error: struct p9_client *p9_client_create(const char *dev_name, char *options) { int err; + static atomic_t seqno = ATOMIC_INIT(0); struct p9_client *clnt; char *client_id; + char *cache_name; clnt = kmalloc(sizeof(*clnt), GFP_KERNEL); if (!clnt) @@ -1035,15 +1037,23 @@ struct p9_client *p9_client_create(const char *dev_name, char *options) if (err) goto close_trans; + cache_name = kasprintf(GFP_KERNEL, + "9p-fcall-cache-%u", atomic_inc_return(&seqno)); + if (!cache_name) { + err = -ENOMEM; + goto close_trans; + } + /* P9_HDRSZ + 4 is the smallest packet header we can have that is * followed by data accessed from userspace by read */ clnt->fcall_cache = - kmem_cache_create_usercopy("9p-fcall-cache", clnt->msize, + kmem_cache_create_usercopy(cache_name, clnt->msize, 0, 0, P9_HDRSZ + 4, clnt->msize - (P9_HDRSZ + 4), NULL); + kfree(cache_name); return clnt; close_trans: |