From 71c9572e744a8d11b03347d97558cb8f57eb1e69 Mon Sep 17 00:00:00 2001 From: Jesse Buhagiar Date: Tue, 8 Jun 2021 22:31:32 +1000 Subject: [PATCH] USB: Store device descriptor on enumeration We now store the device descriptor obtained from the device during enumeration in the device's object in memory instead of exposing all of the different members contained within it. --- Kernel/Devices/USB/USBDevice.cpp | 1 + Kernel/Devices/USB/USBDevice.h | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Kernel/Devices/USB/USBDevice.cpp b/Kernel/Devices/USB/USBDevice.cpp index fcb5773a81f7ce..53fce1a49e91b2 100644 --- a/Kernel/Devices/USB/USBDevice.cpp +++ b/Kernel/Devices/USB/USBDevice.cpp @@ -94,6 +94,7 @@ KResult Device::enumerate() VERIFY(transfer_length > 0); m_address = s_next_usb_address++; + memcpy(&m_device_descriptor, &dev_descriptor, sizeof(USBDeviceDescriptor)); return KSuccess; } diff --git a/Kernel/Devices/USB/USBDevice.h b/Kernel/Devices/USB/USBDevice.h index bcf95a4dcbb56f..d884e13b3d0d38 100644 --- a/Kernel/Devices/USB/USBDevice.h +++ b/Kernel/Devices/USB/USBDevice.h @@ -42,7 +42,8 @@ class Device : public RefCounted { u8 address() const { return m_address; } -private: + const USBDeviceDescriptor& device_descriptor() const { return m_device_descriptor; } + private: PortNumber m_device_port; // What port is this device attached to DeviceSpeed m_device_speed; // What speed is this device running at