git: cd9d26ed91c0 - main - powerpc mpc85xx: Fix infinite recursion in multiple bus methods

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Sat, 17 Feb 2024 07:19:36 UTC
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=cd9d26ed91c049dd60919c71badced89e18a882a

commit cd9d26ed91c049dd60919c71badced89e18a882a
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2024-02-17 07:15:52 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2024-02-17 07:19:06 +0000

    powerpc mpc85xx: Fix infinite recursion in multiple bus methods
    
    Similar to 68a3ff041129208ea98a3bd5142061176ab4165e, the default case
    needs to call bus_generic_* to pass the request up the tree, not bus_*
    which will just call this method again.
    
    Fixes:          5a7e717fb790 powerpc mpc85xx: Use bus_generic_rman_*
---
 sys/powerpc/mpc85xx/lbc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sys/powerpc/mpc85xx/lbc.c b/sys/powerpc/mpc85xx/lbc.c
index 151d77739c4a..f6f38f22beb6 100644
--- a/sys/powerpc/mpc85xx/lbc.c
+++ b/sys/powerpc/mpc85xx/lbc.c
@@ -792,7 +792,7 @@ lbc_release_resource(device_t dev, device_t child, int type, int rid,
 		return (bus_generic_rman_release_resource(dev, child, type,
 		    rid, res));
 	case SYS_RES_IRQ:
-		return (bus_release_resource(dev, type, rid, res));
+		return (bus_generic_release_resource(dev, child, type, rid, res));
 	default:
 		return (EINVAL);
 	}
@@ -810,7 +810,7 @@ lbc_activate_resource(device_t bus, device_t child, int type, int rid,
 		return (bus_generic_rman_activate_resource(bus, child, type,
 		    rid, r));
 	case SYS_RES_IRQ:
-		return (bus_activate_resource(bus, type, rid, r));
+		return (bus_generic_activate_resource(bus, child, type, rid, r));
 	default:
 		return (EINVAL);
 	}
@@ -828,7 +828,7 @@ lbc_deactivate_resource(device_t bus, device_t child, int type, int rid,
 		return (bus_generic_rman_deactivate_resource(bus, child, type,
 		    rid, r));
 	case SYS_RES_IRQ:
-		return (bus_deactivate_resource(bus, type, rid, r));
+		return (bus_generic_deactivate_resource(bus, child, type, rid, r));
 	default:
 		return (EINVAL);
 	}