ASoC: Intel: avs: Fix uninitialized pointer error in probe()
authorCezary Rojewski <cezary.rojewski@intel.com>
Wed, 30 Jul 2025 12:49:06 +0000 (14:49 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 30 Jul 2025 12:48:43 +0000 (13:48 +0100)
If pcim_request_all_regions() fails, error path operates on
uninitialized 'bus' pointer. Found out by Coverity static analyzer.

Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250730124906.351798-1-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/core.c

index 7af324753673598af9d697aa265b5fd18220df63..5ebadba07ecc00fc5648314e86be0ea5da20edad 100644 (file)
@@ -445,6 +445,8 @@ static int avs_pci_probe(struct pci_dev *pci, const struct pci_device_id *id)
        adev = devm_kzalloc(dev, sizeof(*adev), GFP_KERNEL);
        if (!adev)
                return -ENOMEM;
+       bus = &adev->base.core;
+
        ret = avs_bus_init(adev, pci, id);
        if (ret < 0) {
                dev_err(dev, "failed to init avs bus: %d\n", ret);
@@ -455,7 +457,6 @@ static int avs_pci_probe(struct pci_dev *pci, const struct pci_device_id *id)
        if (ret < 0)
                return ret;
 
-       bus = &adev->base.core;
        bus->addr = pci_resource_start(pci, 0);
        bus->remap_addr = pci_ioremap_bar(pci, 0);
        if (!bus->remap_addr) {