X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FUSB%2FCore%2Fusb_lowlevel.c;h=dce7c33ac75fc1f97b2f435ef90b94cfb0c2bed0;hb=742983c97b5cd2e38df86cb0e51c7f483730ebc5;hp=67381c0be3f217bbdc049c40908f6dc7cba8c950;hpb=3bcfc9ded1d44d1fbec95f73b5894e26f498b73d;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/USB/Core/usb_lowlevel.c b/KernelLand/Modules/USB/Core/usb_lowlevel.c index 67381c0b..dce7c33a 100644 --- a/KernelLand/Modules/USB/Core/usb_lowlevel.c +++ b/KernelLand/Modules/USB/Core/usb_lowlevel.c @@ -5,7 +5,7 @@ * usb_lowlevel.c * - Low Level IO */ -#define DEBUG 1 +#define DEBUG 0 #include #include "usb.h" #include "usb_proto.h" @@ -95,7 +95,6 @@ int USB_int_ReadDescriptor(tUSBDevice *Dev, int Endpoint, int Type, int Index, i const int ciMaxPacketSize = 0x400; struct sDeviceRequest req; int bToggle = 0; - void *final; int dest = Dev->Address*16 + Endpoint; ENTER("pDev xdest iType iIndex iLength pDest", @@ -131,7 +130,7 @@ int USB_int_ReadDescriptor(tUSBDevice *Dev, int Endpoint, int Type, int Index, i Threads_ClearEvent(THREAD_EVENT_SHORTWAIT); LOG("OUT (Status)"); - final = Dev->Host->HostDef->ControlOUT( + Dev->Host->HostDef->ControlOUT( Dev->Host->Ptr, dest, 1, USB_int_WakeThread, Proc_GetCurThread(), NULL, 0 @@ -152,7 +151,9 @@ char *USB_int_GetDeviceString(tUSBDevice *Dev, int Endpoint, int Index) if(Index == 0) return strdup(""); + str.Length = 0; USB_int_ReadDescriptor(Dev, Endpoint, 3, Index, sizeof(str), &str); + if(str.Length == 0) return NULL; if(str.Length < 2) { Log_Error("USB", "String %p:%i:%i:%i descriptor is undersized (%i)", Dev->Host, Dev->Address, Endpoint, Index, str.Length);