Kernel: Fix USB FS device default max packet size
Apparently this is a common non spec compliant issue on many controllers/devices. thanks @sasdallas
This commit is contained in:
parent
ee3f10313a
commit
7e472a9c1d
|
@ -40,10 +40,9 @@ namespace Kernel
|
|||
switch (m_speed_class)
|
||||
{
|
||||
case USB::SpeedClass::LowSpeed:
|
||||
case USB::SpeedClass::FullSpeed:
|
||||
m_endpoints[0].max_packet_size = 8;
|
||||
is_ls_or_fs_device_on_hs_hub = m_info.parent_hub && (m_info.parent_hub->speed_class() == USB::SpeedClass::HighSpeed);
|
||||
break;
|
||||
case USB::SpeedClass::FullSpeed:
|
||||
case USB::SpeedClass::HighSpeed:
|
||||
m_endpoints[0].max_packet_size = 64;
|
||||
break;
|
||||
|
@ -53,6 +52,16 @@ namespace Kernel
|
|||
default: ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
switch (m_speed_class)
|
||||
{
|
||||
case USB::SpeedClass::LowSpeed:
|
||||
case USB::SpeedClass::FullSpeed:
|
||||
is_ls_or_fs_device_on_hs_hub = m_info.parent_hub && (m_info.parent_hub->speed_class() == USB::SpeedClass::HighSpeed);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
m_input_context = TRY(DMARegion::create(33 * context_size));
|
||||
memset(reinterpret_cast<void*>(m_input_context->vaddr()), 0, m_input_context->size());
|
||||
|
||||
|
|
Loading…
Reference in New Issue