• Nadav Amit's avatar
    vmw_balloon: fix VMCI use when balloon built into kernel · c3cc1b0f
    Nadav Amit authored
    Currently, when all modules, including VMCI and VMware balloon are built
    into the kernel, the initialization of the balloon happens before the
    VMCI is probed. As a result, the balloon fails to initialize the VMCI
    doorbell, which it uses to get asynchronous requests for balloon size
    changes.
    
    The problem can be seen in the logs, in the form of the following
    message:
    	"vmw_balloon: failed to initialize vmci doorbell"
    
    The driver would work correctly but slightly less efficiently, probing
    for requests periodically. This patch changes the balloon to be
    initialized using late_initcall() instead of module_init() to address
    this issue. It does not address a situation in which VMCI is built as a
    module and the balloon is built into the kernel.
    
    Fixes: 48e3d668 ("VMware balloon: Enable notification via VMCI")
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarXavier Deguillard <xdeguillard@vmware.com>
    Signed-off-by: default avatarNadav Amit <namit@vmware.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    c3cc1b0f
vmw_balloon.c 34.4 KB