summaryrefslogtreecommitdiffstats
path: root/src/drivers/wifi
diff options
context:
space:
mode:
authorAngel Pons <th3fanbus@gmail.com>2022-04-03 21:10:26 +0200
committerFelix Held <felix-coreboot@felixheld.de>2022-04-04 23:56:15 +0000
commit1e124b94fc43df00abe60b067a316460384a6df1 (patch)
treefa9fa4c418da6357575b1f89bec0aac079126c29 /src/drivers/wifi
parent32ec4526a09c8daffd8e4211f45046fea20141fa (diff)
downloadcoreboot-1e124b94fc43df00abe60b067a316460384a6df1.tar.gz
coreboot-1e124b94fc43df00abe60b067a316460384a6df1.tar.bz2
coreboot-1e124b94fc43df00abe60b067a316460384a6df1.zip
drivers/wifi/generic/acpi.c: NULL-check pointers before dereferencing
Checking whether a pointer is NULL after it has been dereferenced makes zero sense. Make sure the `wifi_ssdt_write_properties()` function never gets invoked with a NULL argument for the `dev` parameter, and simplify the logic around the `is_cnvi_ddr_rfim_enabled` variable accordingly. Change-Id: I3fbc9565e7e9b4e1c14a68f6a5fd779577045236 Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/63340 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Singer <felixsinger@posteo.net> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Diffstat (limited to 'src/drivers/wifi')
-rw-r--r--src/drivers/wifi/generic/acpi.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/drivers/wifi/generic/acpi.c b/src/drivers/wifi/generic/acpi.c
index 65940d6e9f37..ee0963178e22 100644
--- a/src/drivers/wifi/generic/acpi.c
+++ b/src/drivers/wifi/generic/acpi.c
@@ -533,11 +533,9 @@ static void wifi_ssdt_write_device(const struct device *dev, const char *path)
static void wifi_ssdt_write_properties(const struct device *dev, const char *scope)
{
- bool is_cnvi_ddr_rfim_enabled = false;
-
const struct drivers_wifi_generic_config *config = dev->chip_info;
- if (dev && config)
- is_cnvi_ddr_rfim_enabled = config->enable_cnvi_ddr_rfim;
+
+ bool is_cnvi_ddr_rfim_enabled = config && config->enable_cnvi_ddr_rfim;
/* Scope */
acpigen_write_scope(scope);
@@ -646,6 +644,8 @@ const char *wifi_pcie_acpi_name(const struct device *dev)
void wifi_cnvi_fill_ssdt(const struct device *dev)
{
const char *path;
+ if (!dev)
+ return;
path = acpi_device_path(dev->bus->dev);
if (!path)