soc/intel/{cannonlake,skylake}: Fix null pointer dereference in klocwork

This patch fixes klocwork bug due to recent memmap.c
implementation where “Pointer 'dev' returned from call
to function 'dev_find_slot' at line 144 may be NULL.”

Change-Id: I4c74ca410d1a0ba48634ec9928a0d9d1cc20e27a
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/21404
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Subrata Banik 2017-09-05 18:44:15 +05:30
parent 768843e9e3
commit b92ad0b077
2 changed files with 4 additions and 1 deletions

View File

@ -91,6 +91,8 @@ static uintptr_t calculate_dram_base(void)
size_t imr_size; size_t imr_size;
dev = dev_find_slot(0, PCI_DEVFN(SA_DEV_SLOT_IGD, 0)); dev = dev_find_slot(0, PCI_DEVFN(SA_DEV_SLOT_IGD, 0));
if (!dev)
die("ERROR - device not found!");
/* Read TOLUD from Host Bridge offset */ /* Read TOLUD from Host Bridge offset */
dram_base = sa_get_tolud_base(); dram_base = sa_get_tolud_base();

View File

@ -142,6 +142,8 @@ static u32 calculate_dram_base(void)
size_t prmrr_size; size_t prmrr_size;
dev = dev_find_slot(0, PCI_DEVFN(SA_DEV_SLOT_IGD, 0)); dev = dev_find_slot(0, PCI_DEVFN(SA_DEV_SLOT_IGD, 0));
if (!dev)
die("ERROR - device not found!");
/* Read TOLUD from Host Bridge offset */ /* Read TOLUD from Host Bridge offset */
dram_base = sa_get_tolud_base(); dram_base = sa_get_tolud_base();
@ -160,7 +162,6 @@ static u32 calculate_dram_base(void)
if (IS_ENABLED(CONFIG_SA_ENABLE_DPR)) if (IS_ENABLED(CONFIG_SA_ENABLE_DPR))
dram_base -= sa_get_dpr_size(); dram_base -= sa_get_dpr_size();
dev = dev_find_slot(0, PCI_DEVFN(SA_DEV_SLOT_ROOT, 0));
config = dev->chip_info; config = dev->chip_info;
if (IS_ENABLED(CONFIG_PLATFORM_USES_FSP1_1)) if (IS_ENABLED(CONFIG_PLATFORM_USES_FSP1_1))
prmrr_size = 1*MiB; prmrr_size = 1*MiB;