1
0
Fork 0
mirror of https://github.com/Atmosphere-NX/Atmosphere.git synced 2024-11-18 01:46:47 +00:00

usb: fix wrong command id for AppendConfigurationData

This commit is contained in:
Michael Scire 2021-02-07 17:14:48 -08:00
parent 13b17a5848
commit 2b825d56dc
2 changed files with 11 additions and 2 deletions

View file

@ -165,6 +165,15 @@ namespace ams::usb {
UsbEndpointAddressMask_DirDevicetoHost = (0x1 << 7), UsbEndpointAddressMask_DirDevicetoHost = (0x1 << 7),
}; };
enum UsbEndpointAttributeMask {
UsbEndpointAttributeMask_XferType = (0x3 << 0),
UsbEndpointAttributeMask_XferTypeControl = (0x0 << 0),
UsbEndpointAttributeMask_XferTypeIsoc = (0x1 << 0),
UsbEndpointAttributeMask_XferTypeBulk = (0x2 << 0),
UsbEndpointAttributeMask_XferTypeInt = (0x3 << 0),
};
enum UsbEndpointDirection { enum UsbEndpointDirection {
UsbEndpointDirection_Invalid = 0, UsbEndpointDirection_Invalid = 0,
UsbEndpointDirection_ToDevice = 1, UsbEndpointDirection_ToDevice = 1,

View file

@ -103,7 +103,7 @@ namespace ams::usb {
Result RemoteDsInterface::AppendConfigurationData(u8 bInterfaceNumber, usb::UsbDeviceSpeed device_speed, const sf::InBuffer &data) { Result RemoteDsInterface::AppendConfigurationData(u8 bInterfaceNumber, usb::UsbDeviceSpeed device_speed, const sf::InBuffer &data) {
if (hos::GetVersion() >= hos::Version_11_0_0) { if (hos::GetVersion() >= hos::Version_11_0_0) {
serviceAssumeDomain(std::addressof(m_srv)); serviceAssumeDomain(std::addressof(m_srv));
return serviceDispatchIn(std::addressof(m_srv), 12, device_speed, return serviceDispatchIn(std::addressof(m_srv), 10, device_speed,
.buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_In }, .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_In },
.buffers = { { data.GetPointer(), data.GetSize() } }, .buffers = { { data.GetPointer(), data.GetSize() } },
); );
@ -114,7 +114,7 @@ namespace ams::usb {
} in = { bInterfaceNumber, device_speed }; } in = { bInterfaceNumber, device_speed };
serviceAssumeDomain(std::addressof(m_srv)); serviceAssumeDomain(std::addressof(m_srv));
return serviceDispatchIn(std::addressof(m_srv), 10, in, return serviceDispatchIn(std::addressof(m_srv), 12, in,
.buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_In }, .buffer_attrs = { SfBufferAttr_HipcMapAlias | SfBufferAttr_In },
.buffers = { { data.GetPointer(), data.GetSize() } }, .buffers = { { data.GetPointer(), data.GetSize() } },
); );