AGESA/binaryPI: Add NULL pointers check
Fix regression after commits4ad7f5b
AGESA: Use pcidev_on_root()33ff44c
binaryPI: Use pcidev_on_root() Previously used call dev_find_slot() returned pointers to PCI device nodes that were actually not present in the hardware at all. Register reads would come back with invalid (0xff) values and writes would be ignored. After change to pcidev_on_root(), attempting to do register operations with non-present PCI hardware immediately halts with error get_pbus: dev is NULL! Change-Id: I785350c171a642207c5fab884a953d45a3bfe592 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/31026 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
@@ -574,9 +574,11 @@ static void fam16_finalize(void *chip_info)
|
||||
|
||||
/* disable No Snoop */
|
||||
dev = pcidev_on_root(1, 1);
|
||||
value = pci_read_config32(dev, 0x60);
|
||||
value &= ~(1 << 11);
|
||||
pci_write_config32(dev, 0x60, value);
|
||||
if (dev != NULL) {
|
||||
value = pci_read_config32(dev, 0x60);
|
||||
value &= ~(1 << 11);
|
||||
pci_write_config32(dev, 0x60, value);
|
||||
}
|
||||
}
|
||||
|
||||
struct chip_operations northbridge_amd_agesa_family16kb_ops = {
|
||||
|
@@ -558,9 +558,11 @@ static void fam15_finalize(void *chip_info)
|
||||
|
||||
/* disable No Snoop */
|
||||
dev = pcidev_on_root(1, 1);
|
||||
value = pci_read_config32(dev, 0x60);
|
||||
value &= ~(1 << 11);
|
||||
pci_write_config32(dev, 0x60, value);
|
||||
if (dev != NULL) {
|
||||
value = pci_read_config32(dev, 0x60);
|
||||
value &= ~(1 << 11);
|
||||
pci_write_config32(dev, 0x60, value);
|
||||
}
|
||||
}
|
||||
|
||||
struct chip_operations northbridge_amd_pi_00660F01_ops = {
|
||||
|
@@ -792,9 +792,11 @@ static void fam16_finalize(void *chip_info)
|
||||
|
||||
/* disable No Snoop */
|
||||
dev = pcidev_on_root(1, 1);
|
||||
value = pci_read_config32(dev, 0x60);
|
||||
value &= ~(1 << 11);
|
||||
pci_write_config32(dev, 0x60, value);
|
||||
if (dev != NULL) {
|
||||
value = pci_read_config32(dev, 0x60);
|
||||
value &= ~(1 << 11);
|
||||
pci_write_config32(dev, 0x60, value);
|
||||
}
|
||||
}
|
||||
|
||||
struct chip_operations northbridge_amd_pi_00730F01_ops = {
|
||||
|
Reference in New Issue
Block a user