mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 04:47:34 +00:00
Kernel: Decouple Intel HDA interrupt handling from controller
The driver would crash if it was unable to find an output route, and subsequently the destruction of controller did not invoke `GenericInterruptHandler::will_be_destroyed()` because on the level of `AudioController`, that method is unavailable. By decoupling the interrupt handling from the controller, we get a new refcounted class that correctly cleans up after itself :^)
This commit is contained in:
parent
c9af6c87bf
commit
859ac200b7
5 changed files with 76 additions and 17 deletions
|
@ -47,6 +47,7 @@ set(KERNEL_SOURCES
|
|||
Devices/Audio/IntelHDA/Codec.cpp
|
||||
Devices/Audio/IntelHDA/Controller.cpp
|
||||
Devices/Audio/IntelHDA/Format.cpp
|
||||
Devices/Audio/IntelHDA/InterruptHandler.cpp
|
||||
Devices/Audio/IntelHDA/Stream.cpp
|
||||
Devices/Audio/Management.cpp
|
||||
Devices/BlockDevice.cpp
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue