tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Porting amdgpio driver from OpenBSD
It prints the line
printf(", %d pins\n", sc->sc_npins);
That means, its not reaching the cannot establish interrupt error branch and going right to the sc->sc_gpio.gp_* lines. So I think I am passing wrong argument to the bus_space_map function, but not sure what is the wrong data.
Sent from ProtonMail, Swiss-based encrypted email.
------- Original Message -------
On terça-feira, 29 de novembro de 2022 às 11:35 AM, Taylor R Campbell <riastradh%NetBSD.org@localhost> wrote:
> > Date: Tue, 29 Nov 2022 02:11:15 +0000
> > From: Bruno Melo bmelo%protonmail.com@localhost
> >
> > and then the crash happens in my bus_space_unmap(). Please, do you
> > have any idea what could be the problem or how i can investigate it?
> > Picture attached and code below:
>
>
> There's only one call to bus_space_unmap in your driver. It happens
> here:
>
> printf(", %d pins\n", sc->sc_npins);
>
>
> #if NGPIO > 0
>
> config_found(sc->sc_dev, &gba, gpiobus_print, CFARGS_NONE);
>
> #endif
>
> unmap:
> kmem_free(sc->sc_pin_ih, sc->sc_npins * sizeof(*sc->sc_pin_ih));
>
> bus_space_unmap(sc->sc_memt, sc->sc_memh, sc->sc_size);
>
> sc->sc_size = 0;
>
> printf(" DOIS");
>
> There are two ways to reach this:
>
> 1. The error branch when acpi_intr_establish fails, which will first
> print a message (`can't establish interrupt') so you can tell
> whether this happened.
>
> 2. Fall through after config_found. This is the case where everything
> succeeded, so you probably meant to return here instead of falling
> through to cleanup!
Home |
Main Index |
Thread Index |
Old Index