@@ -430,6 +430,8 @@ static int64_t phb4_pcicfg_read(struct phb4 *p, uint32_t bdfn,
if (p->flags & PHB4_AIB_FENCED) {
if (!(p->flags & PHB4_CFG_USE_ASB))
return OPAL_HARDWARE;
+ if (bdfn != 0)
+ return OPAL_HARDWARE;
use_asb = true;
} else if ((p->flags & PHB4_CFG_BLOCKED) && bdfn != 0) {
return OPAL_HARDWARE;
@@ -521,6 +523,8 @@ static int64_t phb4_pcicfg_write(struct phb4 *p, uint32_t bdfn,
if (p->flags & PHB4_AIB_FENCED) {
if (!(p->flags & PHB4_CFG_USE_ASB))
return OPAL_HARDWARE;
+ if (bdfn != 0)
+ return OPAL_HARDWARE;
use_asb = true;
} else if ((p->flags & PHB4_CFG_BLOCKED) && bdfn != 0) {
return OPAL_HARDWARE;
On DD2 you can't access device config space when fenced, so just disable access whenever we are fenced. Signed-off-by: Michael Neuling <mikey@neuling.org> --- hw/phb4.c | 4 ++++ 1 file changed, 4 insertions(+)