NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: port-sparc/56078: sparc audioamd(4) KASSERT on playing audio



> Maybe "sc->sc_am7930.sc_lock" in the am7930swintr() was
> typo of "sc->sc_am7930.sc_intr_lock", as a commit log in
> the jmcneill-audiomp3 branch:

ah, that looks right to me.  and it was fixed in the merge
of the am7930 drivers:

   http://mail-index.netbsd.org/source-changes/2020/09/12/msg121802.html

which uses sc_spin_lock in the now swintr handler.

> The following change just works at least on my SPARCclassic:
>
> ---
> Index: sys/arch/sparc/dev/audioamd.c
> ===================================================================
> RCS file: /cvsroot/src/sys/arch/sparc/dev/audioamd.c,v
> retrieving revision 1.29
> diff -u -p -d -r1.29 audioamd.c
> --- sys/arch/sparc/dev/audioamd.c	8 May 2019 13:40:16 -0000	1.29
> +++ sys/arch/sparc/dev/audioamd.c	28 Mar 2021 03:41:59 -0000
> @@ -461,7 +461,7 @@ am7930swintr(void *sc0)
>  
>  	au = &sc->sc_au;
>  
> -	mutex_spin_enter(&sc->sc_am7930.sc_lock);
> +	mutex_spin_enter(&sc->sc_am7930.sc_intr_lock);
>  	if (au->au_rdata > au->au_rend && sc->sc_rintr != NULL) {
>  		(*sc->sc_rintr)(sc->sc_rarg);
>  	}
> @@ -469,7 +469,7 @@ am7930swintr(void *sc0)
>  	if (pint)
>  		(*sc->sc_pintr)(sc->sc_parg);
>  
> -	mutex_spin_exit(&sc->sc_am7930.sc_lock);
> +	mutex_spin_exit(&sc->sc_am7930.sc_intr_lock);
>  }

please send this to pullup-9.  it looks 100% right to me.

thanks!


.mrg.


Home | Main Index | Thread Index | Old Index