The branch main has been updated by vexeduxr:

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

commit ed50879c4a9591d075890f61c7f8f7c29d5c6f3a
Author:     Ahmad Khalifa <vexed...@freebsd.org>
AuthorDate: 2025-06-19 13:42:56 +0000
Commit:     Ahmad Khalifa <vexed...@freebsd.org>
CommitDate: 2025-07-04 20:24:31 +0000

    gpiobus: gpiobus_acquire_pin: panic on invalid pin
    
    It is a programming error to call this function with an invalid pin.
    Also return proper error value on failure.
    
    Suggested by:   mmel
    Reviewed by:    imp, mmel
    Approved by:    imp (mentor)
    Differential Revision:  https://reviews.freebsd.org/D50940
---
 sys/dev/gpio/gpiobus.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/sys/dev/gpio/gpiobus.c b/sys/dev/gpio/gpiobus.c
index 6b5379b6084a..ab849ca3db98 100644
--- a/sys/dev/gpio/gpiobus.c
+++ b/sys/dev/gpio/gpiobus.c
@@ -401,14 +401,13 @@ gpiobus_acquire_pin(device_t bus, uint32_t pin)
        sc = device_get_softc(bus);
        /* Consistency check. */
        if (pin >= sc->sc_npins) {
-               device_printf(bus,
-                   "invalid pin %d, max: %d\n", pin, sc->sc_npins - 1);
-               return (-1);
+               panic("%s: invalid pin %d, max: %d",
+                   device_get_nameunit(bus), pin, sc->sc_npins - 1);
        }
        /* Mark pin as mapped and give warning if it's already mapped. */
        if (sc->sc_pins[pin].mapped) {
                device_printf(bus, "warning: pin %d is already mapped\n", pin);
-               return (-1);
+               return (EBUSY);
        }
        sc->sc_pins[pin].mapped = 1;
 

Reply via email to