@@ -1395,17 +1395,18 @@ XHCI::AllocateDevice(Hub *parent, int8 hubAddress, uint8 hubPort,
|
|||||||
_WriteContext(&device->input_ctx->input.addFlags, 3);
|
_WriteContext(&device->input_ctx->input.addFlags, 3);
|
||||||
|
|
||||||
uint8 rhPort = hubPort;
|
uint8 rhPort = hubPort;
|
||||||
uint32 route = rhPort;
|
uint32 route = 0;
|
||||||
for (Device *hubDevice = parent; hubDevice != RootObject();
|
for (Device *hubDevice = parent; hubDevice != RootObject();
|
||||||
hubDevice = (Device *)hubDevice->Parent()) {
|
hubDevice = (Device *)hubDevice->Parent()) {
|
||||||
if (hubDevice->Parent() == RootObject())
|
if (hubDevice->Parent() == RootObject())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
rhPort = hubDevice->HubPort();
|
|
||||||
if (rhPort > 15)
|
if (rhPort > 15)
|
||||||
rhPort = 15;
|
rhPort = 15;
|
||||||
route = route << 4;
|
route = route << 4;
|
||||||
route |= rhPort;
|
route |= rhPort;
|
||||||
|
|
||||||
|
rhPort = hubDevice->HubPort();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 dwslot0 = SLOT_0_NUM_ENTRIES(1) | SLOT_0_ROUTE(route);
|
uint32 dwslot0 = SLOT_0_NUM_ENTRIES(1) | SLOT_0_ROUTE(route);
|
||||||
|
|||||||
Reference in New Issue
Block a user