Fix memory corruption in Host mode Mass Storage Class driver.

pull/1469/head
Dean Camera 15 years ago
parent cd2dcc9163
commit 754ea083d4

@ -98,7 +98,7 @@ int main(void)
break; break;
} }
printf("Mouse Enumerated.\r\n"); printf("Mass Storage Device Enumerated.\r\n");
USB_HostState = HOST_STATE_Configured; USB_HostState = HOST_STATE_Configured;
break; break;
case HOST_STATE_Configured: case HOST_STATE_Configured:

@ -14,5 +14,5 @@
# code. # code.
%: %:
#make -C ClassDriver/ $@ -- TODO: Re-enable once Host Mode class drivers complete @echo TODO: Re-enable building of Host mode Class Driver demos once complete
make -C LowLevel/ $@ make -C LowLevel/ $@

@ -242,7 +242,7 @@ static uint8_t MS_Host_SendReceiveData(USB_ClassInfo_MS_Host_t* MSInterfaceInfo,
} }
static uint8_t MS_Host_GetReturnedStatus(USB_ClassInfo_MS_Host_t* MSInterfaceInfo, static uint8_t MS_Host_GetReturnedStatus(USB_ClassInfo_MS_Host_t* MSInterfaceInfo,
MS_CommandStatusWrapper_t* SCSICommandStatus) MS_CommandStatusWrapper_t* SCSICommandStatus)
{ {
uint8_t ErrorCode = PIPE_RWSTREAM_NoError; uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
@ -252,7 +252,7 @@ static uint8_t MS_Host_GetReturnedStatus(USB_ClassInfo_MS_Host_t* MSInterfaceInf
Pipe_SelectPipe(MSInterfaceInfo->Config.DataINPipeNumber); Pipe_SelectPipe(MSInterfaceInfo->Config.DataINPipeNumber);
Pipe_Unfreeze(); Pipe_Unfreeze();
if ((ErrorCode = Pipe_Read_Stream_LE(&SCSICommandStatus, sizeof(MS_CommandStatusWrapper_t))) != PIPE_RWSTREAM_NoError) if ((ErrorCode = Pipe_Read_Stream_LE(SCSICommandStatus, sizeof(MS_CommandStatusWrapper_t))) != PIPE_RWSTREAM_NoError)
return ErrorCode; return ErrorCode;
Pipe_ClearIN(); Pipe_ClearIN();

Loading…
Cancel
Save