From 8abc4fa8c222cafe5e80052ce04c5f52a4d1ce6a Mon Sep 17 00:00:00 2001 From: Liav A Date: Sun, 28 Nov 2021 09:13:45 +0200 Subject: [PATCH] Kernel/Audio: Implement 2 correctness fixes in AC97 The fixes are: 1. Don't copy PCI::DeviceIdentifier during construction. This is a heavy structure to copy so we definitely don't want to do that. Instead, use a const reference to it like what happens in other parts in the Kernel. 2. Declare the constructor as explicit to avoid construction errors. --- Kernel/Devices/Audio/AC97.cpp | 2 +- Kernel/Devices/Audio/AC97.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Kernel/Devices/Audio/AC97.cpp b/Kernel/Devices/Audio/AC97.cpp index 507efdafa2f..f16ddc82c37 100644 --- a/Kernel/Devices/Audio/AC97.cpp +++ b/Kernel/Devices/Audio/AC97.cpp @@ -44,7 +44,7 @@ UNMAP_AFTER_INIT void AC97::detect() }); } -UNMAP_AFTER_INIT AC97::AC97(PCI::DeviceIdentifier pci_device_identifier) +UNMAP_AFTER_INIT AC97::AC97(PCI::DeviceIdentifier const& pci_device_identifier) : PCI::Device(pci_device_identifier.address()) , IRQHandler(pci_device_identifier.interrupt_line().value()) , CharacterDevice(42, 42) diff --git a/Kernel/Devices/Audio/AC97.h b/Kernel/Devices/Audio/AC97.h index af5ca5c3897..aae4c7dc581 100644 --- a/Kernel/Devices/Audio/AC97.h +++ b/Kernel/Devices/Audio/AC97.h @@ -145,7 +145,7 @@ private: StringView m_name; }; - AC97(PCI::DeviceIdentifier); + explicit AC97(PCI::DeviceIdentifier const&); // ^IRQHandler virtual bool handle_irq(const RegisterState&) override;