diff options
author | Stefano Garzarella <sgarzare@redhat.com> | 2019-11-14 10:57:47 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-11-14 18:12:18 -0800 |
commit | b1bba80a4376aef34de2b57bfb8834bd095703ed (patch) | |
tree | b22280bc8b8e0f8789bfeb7f4013e0c670be2ca4 /drivers/misc/vmw_vmci/vmci_host.c | |
parent | vsock: add multi-transports support (diff) | |
download | linux-dev-b1bba80a4376aef34de2b57bfb8834bd095703ed.tar.xz linux-dev-b1bba80a4376aef34de2b57bfb8834bd095703ed.zip |
vsock/vmci: register vmci_transport only when VMCI guest/host are active
To allow other transports to be loaded with vmci_transport,
we register the vmci_transport as G2H or H2G only when a VMCI guest
or host is active.
To do that, this patch adds a callback registered in the vmci driver
that will be called when the host or guest becomes active.
This callback will register the vmci_transport in the VSOCK core.
Cc: Jorgen Hansen <jhansen@vmware.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/misc/vmw_vmci/vmci_host.c')
-rw-r--r-- | drivers/misc/vmw_vmci/vmci_host.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/misc/vmw_vmci/vmci_host.c b/drivers/misc/vmw_vmci/vmci_host.c index 833e2bd248a5..ff3c396146ff 100644 --- a/drivers/misc/vmw_vmci/vmci_host.c +++ b/drivers/misc/vmw_vmci/vmci_host.c @@ -108,6 +108,11 @@ bool vmci_host_code_active(void) atomic_read(&vmci_host_active_users) > 0); } +int vmci_host_users(void) +{ + return atomic_read(&vmci_host_active_users); +} + /* * Called on open of /dev/vmci. */ @@ -338,6 +343,8 @@ static int vmci_host_do_init_context(struct vmci_host_dev *vmci_host_dev, vmci_host_dev->ct_type = VMCIOBJ_CONTEXT; atomic_inc(&vmci_host_active_users); + vmci_call_vsock_callback(true); + retval = 0; out: |