diff --git a/Kernel/Devices/USB/USBDevice.cpp b/Kernel/Devices/USB/USBDevice.cpp index fcb5773a81f..53fce1a49e9 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 bcf95a4dcbb..d884e13b3d0 100644 --- a/Kernel/Devices/USB/USBDevice.h +++ b/Kernel/Devices/USB/USBDevice.h @@ -42,7 +42,8 @@ public: 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