From 20c893e82c0cc4e9a44da048fdd5ba75ad9f547c Mon Sep 17 00:00:00 2001
From: Naresh G Solanki <naresh.solanki@intel.com>
Date: Tue, 5 Jun 2018 18:58:53 +0530
Subject: arch/x86/smbios: Conditionally call SMBIOS ops

Check whether device is enabled before calling smbios ops.

BUG=None
BRANCH=None
TEST=Build & boot Soraka.

Change-Id: I79681c10679e1de3a2d177503f29239968d0c157
Signed-off-by: Naresh G Solanki <naresh.solanki@intel.com>
Reviewed-on: https://review.coreboot.org/26864
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
---
 src/arch/x86/smbios.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

(limited to 'src')

diff --git a/src/arch/x86/smbios.c b/src/arch/x86/smbios.c
index 25a41b53aa..da1b711535 100644
--- a/src/arch/x86/smbios.c
+++ b/src/arch/x86/smbios.c
@@ -675,10 +675,11 @@ static int smbios_walk_device_tree(struct device *tree, int *handle,
 	int len = 0;
 
 	for (dev = tree; dev; dev = dev->next) {
-		printk(BIOS_INFO, "%s (%s)\n", dev_path(dev), dev_name(dev));
-
-		if (dev->ops && dev->ops->get_smbios_data)
+		if (dev->enabled && dev->ops && dev->ops->get_smbios_data) {
+			printk(BIOS_INFO, "%s (%s)\n", dev_path(dev),
+				dev_name(dev));
 			len += dev->ops->get_smbios_data(dev, handle, current);
+		}
 	}
 	return len;
 }
-- 
cgit v1.2.3