diff --git a/Kernel/Bus/USB/USBDevice.cpp b/Kernel/Bus/USB/USBDevice.cpp index 4e21a3ca69..695b9c4b3d 100644 --- a/Kernel/Bus/USB/USBDevice.cpp +++ b/Kernel/Bus/USB/USBDevice.cpp @@ -138,4 +138,9 @@ ErrorOr Device::enumerate_device() return {}; } +ErrorOr Device::control_transfer(u8 request_type, u8 request, u16 value, u16 index, u16 length, void* data) +{ + return TRY(m_default_pipe->control_transfer(request_type, request, value, index, length, data)); +} + } diff --git a/Kernel/Bus/USB/USBDevice.h b/Kernel/Bus/USB/USBDevice.h index e2a1aac4ff..1adc4c93c8 100644 --- a/Kernel/Bus/USB/USBDevice.h +++ b/Kernel/Bus/USB/USBDevice.h @@ -47,6 +47,8 @@ public: USBController& controller() { return *m_controller; } USBController const& controller() const { return *m_controller; } + ErrorOr control_transfer(u8 request_type, u8 request, u16 value, u16 index, u16 length, void* data); + protected: Device(NonnullRefPtr controller, u8 address, u8 port, DeviceSpeed speed, NonnullOwnPtr default_pipe);