diff --git a/kernel/kernel/Audio/AC97/Controller.cpp b/kernel/kernel/Audio/AC97/Controller.cpp index d81d7c9d..6e57b6e7 100644 --- a/kernel/kernel/Audio/AC97/Controller.cpp +++ b/kernel/kernel/Audio/AC97/Controller.cpp @@ -224,7 +224,12 @@ namespace Kernel BAN::ErrorOr AC97AudioController::set_volume_mdB(int32_t mdB) { m_volume_info.mdB = BAN::Math::clamp(mdB, m_volume_info.min_mdB, m_volume_info.max_mdB); - m_mixer->write16(AudioMixerRegister::MasterVolume, get_volume_data()); + + const uint32_t volume_data = get_volume_data(); + m_mixer->write16(AudioMixerRegister::MasterVolume, volume_data); + + m_volume_info.mdB = -(volume_data & 0xFF) * m_volume_info.step_mdB; + return {}; }