pnv_phb4.c: check if root port exists in rc_config functions
pnv_phb4_rc_config_read() and pnv_phb4_rc_config_write() are asserting the existence of the root port. The root port is now optional, and there will be cases where a pnv-phb4 device won't have a root port attached. Instead of asserting, check if the root port exists before read/writing into it. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Message-Id: <20220105212338.49899-6-danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
1360fd832b
commit
e022e5a73a
@ -152,7 +152,10 @@ static void pnv_phb4_rc_config_write(PnvPHB4 *phb, unsigned off,
|
||||
}
|
||||
|
||||
pdev = pci_find_device(pci->bus, 0, 0);
|
||||
assert(pdev);
|
||||
if (!pdev) {
|
||||
phb_error(phb, "rc_config_write device not found\n");
|
||||
return;
|
||||
}
|
||||
|
||||
pci_host_config_write_common(pdev, off, PHB_RC_CONFIG_SIZE,
|
||||
bswap32(val), 4);
|
||||
@ -171,7 +174,10 @@ static uint64_t pnv_phb4_rc_config_read(PnvPHB4 *phb, unsigned off,
|
||||
}
|
||||
|
||||
pdev = pci_find_device(pci->bus, 0, 0);
|
||||
assert(pdev);
|
||||
if (!pdev) {
|
||||
phb_error(phb, "rc_config_read device not found\n");
|
||||
return ~0ull;
|
||||
}
|
||||
|
||||
val = pci_host_config_read_common(pdev, off, PHB_RC_CONFIG_SIZE, 4);
|
||||
return bswap32(val);
|
||||
|
Loading…
Reference in New Issue
Block a user