]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ASoC: SOF: relax ABI checks and avoid unnecessary warnings
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Thu, 11 Feb 2021 17:24:40 +0000 (19:24 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 11 Feb 2021 17:31:56 +0000 (17:31 +0000)
With recent SOF 1.7 pre-releases, kernel has been emitting following
warnings at probe:

[10006.645216] sof-audio-pci 0000:00:1f.3: warn: FW ABI is more recent than kernel
[10006.652137] sof-audio-pci 0000:00:1f.3: warn: topology ABI is more recent than kernel

The warnings are emitted due to increase of the patch-level in firmware
mainline (to 3.17.1). But the patch level should not be considered even
in the strict ABI check, so modify the kernel side logic that makes the
check and only consider the major.minor components.

BugLink: https://github.com/thesofproject/linux/issues/2647
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20210211172440.2371447-1-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/ipc.c
sound/soc/sof/topology.c

index 1bc3d6282f16d31fa24f4b189382fd9cda9ada44..c2d07b783f60a3e1816071bfd4f561adfec9629c 100644 (file)
@@ -798,7 +798,7 @@ int snd_sof_ipc_valid(struct snd_sof_dev *sdev)
                return -EINVAL;
        }
 
-       if (v->abi_version > SOF_ABI_VERSION) {
+       if (SOF_ABI_VERSION_MINOR(v->abi_version) > SOF_ABI_MINOR) {
                if (!IS_ENABLED(CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS)) {
                        dev_warn(sdev->dev, "warn: FW ABI is more recent than kernel\n");
                } else {
index d6e1f33eb1e9feca9572330742f940c746a1bdbe..10f99620eb317dec4236dc29aaf7facbdbb11488 100644 (file)
@@ -3658,7 +3658,7 @@ static int sof_manifest(struct snd_soc_component *scomp, int index,
                return -EINVAL;
        }
 
-       if (abi_version > SOF_ABI_VERSION) {
+       if (SOF_ABI_VERSION_MINOR(abi_version) > SOF_ABI_MINOR) {
                if (!IS_ENABLED(CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS)) {
                        dev_warn(scomp->dev, "warn: topology ABI is more recent than kernel\n");
                } else {