From d4bfebf917bcecf23892bb5069ee91bec75bef71 Mon Sep 17 00:00:00 2001 From: Tijl Coosemans Date: Sat, 24 May 2025 12:58:29 +0200 Subject: snd_hda: Fix a sporadic panic during kldunload The interrupt handler releases the device lock in hdaa_stream_intr to avoid a lock order reversal. This allows child devices to be detached and destroyed and then the interrupt handler panics. Let hdac_detach take down the interrupt handler before detaching child devices and order hdac_driver so hdac_detach is called first. Remove duplicate hdac_if.h from the module Makefile. PR: 286385 Reviewed by: christos Differential Revision: https://reviews.freebsd.org/D50393 --- sys/modules/sound/driver/hda/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/modules/sound/driver') diff --git a/sys/modules/sound/driver/hda/Makefile b/sys/modules/sound/driver/hda/Makefile index 0eec98fc53e1..1e137dc5671c 100644 --- a/sys/modules/sound/driver/hda/Makefile +++ b/sys/modules/sound/driver/hda/Makefile @@ -2,7 +2,7 @@ KMOD= snd_hda SRCS= device_if.h bus_if.h pci_if.h channel_if.h mixer_if.h hdac_if.h -SRCS+= hdaa.c hdaa.h hdaa_patches.c hdac.c hdac_if.h hdac_if.c -SRCS+= hdacc.c hdac_private.h hdac_reg.h hda_reg.h hdac.h +SRCS+= hdaa.c hdaa.h hdaa_patches.c hdacc.c hdac.c hdac_if.c +SRCS+= hdac_private.h hdac_reg.h hda_reg.h hdac.h .include -- cgit v1.3