X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FUSB%2FCore%2Fusb.c;h=44f0c6fe8f402577c0c003a5634854de625a443b;hb=5cab4c07bc13888dc7956194ef9595508072a4eb;hp=eb1aa391a3530fff848bf4dee399df74fb972e34;hpb=ea8e0fad3dfc8bf735d41eedbad2a8e6198059aa;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/USB/Core/usb.c b/KernelLand/Modules/USB/Core/usb.c index eb1aa391..44f0c6fe 100644 --- a/KernelLand/Modules/USB/Core/usb.c +++ b/KernelLand/Modules/USB/Core/usb.c @@ -5,7 +5,7 @@ * usb.c * - USB Structure */ -#define DEBUG 1 +#define DEBUG 0 #include #include #include @@ -31,7 +31,7 @@ tUSBHub *USB_RegisterHost(tUSBHostDef *HostDef, void *ControllerPtr, int nPorts) { tUSBHost *host; - host = malloc(sizeof(tUSBHost) + sizeof(tUSBDevice) + sizeof(tUSBInterface) + nPorts*sizeof(tUSBHubPort)); + host = malloc(sizeof(tUSBHost) + nPorts*sizeof(tUSBHubPort) + sizeof(tUSBDevice) + sizeof(tUSBInterface)); if(!host) { // Oh, bugger. return NULL; @@ -40,15 +40,15 @@ tUSBHub *USB_RegisterHost(tUSBHostDef *HostDef, void *ControllerPtr, int nPorts) host->Ptr = ControllerPtr; memset(host->AddressBitmap, 0, sizeof(host->AddressBitmap)); - host->RootHubDev = (void*)(host + 1); + host->RootHubDev = (void*)(host->RootHub.Ports + nPorts); host->RootHubDev->ParentHub = NULL; host->RootHubDev->Host = host; host->RootHubDev->Address = 0; ASSERT(HostDef->InitControl); host->RootHubDev->EndpointHandles[0] = HostDef->InitControl(ControllerPtr, 0, 64); + host->RootHubDev->nInterfaces = 0; host->RootHubIf = (void*)(host->RootHubDev + 1); -// host->RootHubIf->Next = NULL; host->RootHubIf->Dev = host->RootHubDev; host->RootHubIf->Driver = NULL; host->RootHubIf->Data = NULL;