Hi Pierre-Louis Cc Mark
a) remove the error handling after soc_dapm_add_routes() to be backwards compatible with Intel problematic machine drivers. Not really nice for everyone else.
b) remove this error conditionally so that legacy Intel solutions still work but new ones deal with errors upfront.
I am not sure if there's a 'clean' way to implement b), maybe with a Kconfig selected by some machine drivers? Morimito-san, any suggestions now that we've root caused the problem (copied again below for reference)?
Is it possible to *real* fixup in the future, some day ? We need correct code, but backward compatibility is also needed. Not only Intel but some machine might have similar issue, so, how about to indicate WARNING, and comment ?
Like this
ret = snd_soc_dapm_add_routes(dapm, component->driver->dapm_routes, component->driver->num_dapm_routes); if (ret < 0) - goto err_probe; + /* + * This is error, but legacy Intel want + * compatibility until xxxx. + * call "goto err_probe" after that + */ + dev_warn(dev, "DAPM route add failed.")
Thank you for your help !! Best regards --- Kuninori Morimoto