• Lars-Peter Clausen's avatar
    ASoC: Fix snd_soc_find_dai() matching component by name · 1ffae361
    Lars-Peter Clausen authored
    Commit 14621c7e ("ASoC: Consolidate CPU and CODEC DAI lookup")
    consolidated the lookup of CPU DAIs and CODEC DAIs into a single function.
    When matching a component by name for CODEC DAIs the code previous to the
    patch compared the name in the DAI link table with component->name. For CPU
    DAIs the code compared to dev_name(component->dev). The newly introduced
    function ended up using the later as well.
    
    For most components dev_name(component->dev) and component->name are the
    same. The main notable exception are I2C devices where the driver name and
    the device name are concatenated to form the component name. By using
    dev_name(component->dev) instead of component->name the patch broke the
    matching of I2C CODECs by name.
    
    This patch restores the original behavior by using component->name instead
    of dev_name(component->dev). This will be safe even for CPU DAIs since for
    CPU DAIs both are the same.
    
    Fixes: 14621c7e ("ASoC: Consolidate CPU and CODEC DAI lookup")
    Reported-by: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
    Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    1ffae361
soc-core.c 122 KB