• Ranjani Sridharan's avatar
    ASoC: core: conditionally increase module refcount on component open · b4ed6b51
    Ranjani Sridharan authored
    Recently, for Intel platforms the "ignore_module_refcount" field
    was introduced for the component driver. In order to avoid a
    deadlock preventing the PCI modules from being removed
    even when the card was idle, the refcounts were not incremented
    for the device driver module during component probe.
    
    However, this change introduced a nasty side effect:
    the device driver module can be unloaded while a pcm stream is open.
    
    This patch proposes to change the field to be renamed as
    "module_get_upon_open". When this field is set, the module
    refcount should be incremented on pcm open amd decremented
    upon pcm close. This will enable modules to be removed
    when no PCM playback/capture happens and prevent removal
    when the component is actually in use.
    
    Also, align with the skylake component driver with the new name.
    
    Fixes: b450b878('ASoC: core: don't increase component module refcount
                     unconditionally'
    Signed-off-by: default avatarRanjani Sridharan <ranjani.sridharan@linux.intel.com>
    Acked-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    b4ed6b51
soc-core.c 97.8 KB