git: f0778a6f9ba7 - main - bcm2835_audio: Remove wrong chn_intr()

Christos Margiolis <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.src,gmane.os.freebsd.current.scm
Message-ID <[email protected]>
The branch main has been updated by christos:

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

commit f0778a6f9ba7045239a0055ebfbd7965d1f162c9
Author:     Christos Margiolis <[email protected]>
AuthorDate: 2026-08-21 00:47:03 +0000
Commit:     Christos Margiolis <[email protected]>
CommitDate: 2026-08-21 00:47:03 +0000

    bcm2835_audio: Remove wrong chn_intr()
    
    chn_trigger() calls bcmchan_trigger() with the channel lock held.
    However, bcmchan_trigger() calls chn_intr(), which also tries to lock,
    which results in a lock recursion panic. chn_intr() is meant to be
    called by the interrupt handler and not inside CHANNEL_TRIGGER()
    methods. Remove the call altogether, the bcm2835_worker_play_start()
    call that comes after is enough.
    
    Fixes:          69cab2d1bfb5 ("Fix locking in bcm2835_audio driver")
    Reported by:    Marco Devesas Campos <[email protected]>
    Tested by:      Marco Devesas Campos <[email protected]>
    Sponsored by:   The FreeBSD Foundation
    MFC after:      3 days
    Reviewed by:    markj
    Differential Revision:  https://reviews.freebsd.org/D59055
---
 sys/arm/broadcom/bcm2835/bcm2835_audio.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/sys/arm/broadcom/bcm2835/bcm2835_audio.c b/sys/arm/broadcom/bcm2835/bcm2835_audio.c
index 29808b053b92..82a98d9f6107 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_audio.c
+++ b/sys/arm/broadcom/bcm2835/bcm2835_audio.c
@@ -840,7 +840,6 @@ bcmchan_trigger(kobj_t obj, void *data, int go)
 	switch (go) {
 	case PCMTRIG_START:
 		/* kickstart data flow */
-		chn_intr(sc->pch.channel);
 		ch->submitted_samples = 0;
 		ch->retrieved_samples = 0;
 		bcm2835_worker_play_start(sc);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.