drivers/generic/adau7002/adau7002.c: Fix null pointer dereference

Procedures acpi_device_scope() and acpi_device_name() can under certain
conditions return NULL. Check the return before using them.

This fixes CID 1385944
BUG=b:73331544
TEST=Build kahlee.

Change-Id: Ifcdf905100d22a1d828394f8685641eb432bb836
Signed-off-by: Richard Spiegel <richard.spiegel@silverbackltd.com>
Reviewed-on: https://review.coreboot.org/23760
Reviewed-by: Martin Roth <martinroth@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
diff --git a/src/drivers/generic/adau7002/adau7002.c b/src/drivers/generic/adau7002/adau7002.c
index d21d513..0a94819 100644
--- a/src/drivers/generic/adau7002/adau7002.c
+++ b/src/drivers/generic/adau7002/adau7002.c
@@ -29,12 +29,17 @@
 
 static void adau7002_fill_ssdt(struct device *dev)
 {
-	if (!dev->enabled)
+	if (!dev || !dev->enabled)
+		return;
+
+	const char *scope = acpi_device_scope(dev);
+	const char *name = acpi_device_name(dev);
+	if (!scope || !name)
 		return;
 
 	/* Device */
-	acpigen_write_scope(acpi_device_scope(dev));
-	acpigen_write_device(acpi_device_name(dev));
+	acpigen_write_scope(scope);
+	acpigen_write_device(name);
 	acpigen_write_name_string("_HID", ADAU7002_ACPI_HID);
 	acpigen_write_name_integer("_UID", 0);
 	acpigen_write_name_string("_DDN", dev->chip_ops->name);