*/\r
static uint8_t MassStore_SendCommand(void)\r
{\r
- uint8_t ErrorCode = PIPE_RWSTREAM_ERROR_NoError;\r
+ uint8_t ErrorCode = PIPE_RWSTREAM_NoError;\r
\r
- /* Each transmission should have a unique tag value, excluding valued 0 and 0xFFFFFFFF */\r
+ /* Each transmission should have a unique tag value, excluding values 0 and 0xFFFFFFFF */\r
if (++MassStore_Tag == 0xFFFFFFFF)\r
MassStore_Tag = 1;\r
\r
Pipe_Unfreeze();\r
\r
/* Write the CBW command to the OUT pipe */\r
- if ((ErrorCode = Pipe_Write_Stream_LE(&SCSICommandBlock, sizeof(CommandBlockWrapper_t))) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ErrorCode = Pipe_Write_Stream_LE(&SCSICommandBlock, sizeof(CommandBlockWrapper_t))) != PIPE_RWSTREAM_NoError)\r
return ErrorCode;\r
\r
/* Send the data in the OUT pipe to the attached device */\r
- Pipe_ClearCurrentBank();\r
-\r
- /* Some buggy devices require a delay here before the pipe freezing or they will lock up */\r
- USB_Host_WaitMS(1);\r
+ Pipe_ClearOUT();\r
\r
+ while(!(Pipe_IsOUTReady()));\r
+\r
/* Freeze pipe after use */\r
Pipe_Freeze();\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
/** Waits until the attached device is ready to accept data following a CBW, checking\r
Pipe_Unfreeze();\r
\r
/* Wait until data received in the IN pipe */\r
- while (!(Pipe_ReadWriteAllowed()))\r
+ while (!(Pipe_IsINReceived()))\r
{\r
/* Check to see if a new frame has been issued (1ms elapsed) */\r
if (USB_INT_HasOccurred(USB_INT_HSOFI))\r
\r
/* Check to see if the timeout period for the command has elapsed */\r
if (!(TimeoutMSRem))\r
- return PIPE_RWSTREAM_ERROR_Timeout;\r
+ return PIPE_RWSTREAM_Timeout;\r
}\r
\r
Pipe_SelectPipe(MASS_STORE_DATA_OUT_PIPE);\r
/* Clear the stall condition on the OUT pipe */\r
MassStore_ClearPipeStall(MASS_STORE_DATA_OUT_PIPE);\r
\r
- return PIPE_RWSTREAM_ERROR_PipeStalled;\r
+ return PIPE_RWSTREAM_PipeStalled;\r
}\r
\r
Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);\r
/* Clear the stall condition on the IN pipe */\r
MassStore_ClearPipeStall(MASS_STORE_DATA_IN_PIPE);\r
\r
- return PIPE_RWSTREAM_ERROR_PipeStalled;\r
+ return PIPE_RWSTREAM_PipeStalled;\r
}\r
\r
/* Check to see if the device was disconnected, if so exit function */\r
if (!(USB_IsConnected))\r
- return PIPE_RWSTREAM_ERROR_DeviceDisconnected;\r
+ return PIPE_RWSTREAM_DeviceDisconnected;\r
};\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
/** Sends or receives the transaction's data stage to or from the attached device, reading or\r
*/\r
static uint8_t MassStore_SendReceiveData(void* BufferPtr)\r
{\r
- uint8_t ErrorCode = PIPE_RWSTREAM_ERROR_NoError;\r
+ uint8_t ErrorCode = PIPE_RWSTREAM_NoError;\r
uint16_t BytesRem = SCSICommandBlock.Header.DataTransferLength;\r
\r
/* Check the direction of the SCSI command data stage */\r
Pipe_Unfreeze();\r
\r
/* Read in the block data from the pipe */\r
- if ((ErrorCode = Pipe_Read_Stream_LE(BufferPtr, BytesRem)) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ErrorCode = Pipe_Read_Stream_LE(BufferPtr, BytesRem)) != PIPE_RWSTREAM_NoError)\r
return ErrorCode;\r
+\r
+ /* Acknowledge the packet */\r
+ Pipe_ClearIN();\r
}\r
else\r
{\r
Pipe_Unfreeze();\r
\r
/* Write the block data to the pipe */\r
- if ((ErrorCode = Pipe_Write_Stream_LE(BufferPtr, BytesRem)) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ErrorCode = Pipe_Write_Stream_LE(BufferPtr, BytesRem)) != PIPE_RWSTREAM_NoError)\r
return ErrorCode;\r
- }\r
- \r
- /* Acknowledge the packet */\r
- Pipe_ClearCurrentBank();\r
\r
- /* Some buggy devices require a delay here before the pipe freezing or they will lock up */\r
- USB_Host_WaitMS(1);\r
+ /* Acknowledge the packet */\r
+ Pipe_ClearOUT();\r
+ \r
+ while (!(Pipe_IsOUTReady()));\r
+ }\r
\r
/* Freeze used pipe after use */\r
Pipe_Freeze();\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
/** Routine to receive the current CSW from the device.\r
*/\r
static uint8_t MassStore_GetReturnedStatus(void)\r
{\r
- uint8_t ErrorCode = PIPE_RWSTREAM_ERROR_NoError;\r
+ uint8_t ErrorCode = PIPE_RWSTREAM_NoError;\r
\r
/* If an error in the command ocurred, abort */\r
- if (MassStore_WaitForDataReceived() != NoError)\r
- return;\r
+ if ((ErrorCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_NoError)\r
+ return ErrorCode;\r
\r
/* Select the IN data pipe for data reception */\r
Pipe_SelectPipe(MASS_STORE_DATA_IN_PIPE);\r
Pipe_Unfreeze();\r
\r
/* Load in the CSW from the attached device */\r
- if ((ErrorCode = Pipe_Read_Stream_LE(&SCSICommandStatus, sizeof(CommandStatusWrapper_t))) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ErrorCode = Pipe_Read_Stream_LE(&SCSICommandStatus, sizeof(CommandStatusWrapper_t))) != PIPE_RWSTREAM_NoError)\r
return ErrorCode;\r
\r
/* Clear the data ready for next reception */\r
- Pipe_ClearCurrentBank();\r
-\r
- /* Some buggy devices require a delay here before the pipe freezing or they will lock up */\r
- USB_Host_WaitMS(1);\r
+ Pipe_ClearIN();\r
\r
/* Freeze the IN pipe after use */\r
Pipe_Freeze();\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
/** Clears the stall condition in the attached device on the nominated endpoint number.\r
*/\r
uint8_t MassStore_ClearPipeStall(const uint8_t EndpointNum)\r
{\r
- USB_HostRequest = (USB_Host_Request_Header_t)\r
+ USB_ControlRequest = (USB_Request_Header_t)\r
{\r
- bmRequestType: (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT),\r
- bRequest: REQ_ClearFeature,\r
- wValue: FEATURE_ENDPOINT_HALT,\r
- wIndex: EndpointNum,\r
- wLength: 0,\r
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_STANDARD | REQREC_ENDPOINT),\r
+ .bRequest = REQ_ClearFeature,\r
+ .wValue = FEATURE_ENDPOINT_HALT,\r
+ .wIndex = EndpointNum,\r
+ .wLength = 0,\r
};\r
\r
+ /* Select the control pipe for the request transfer */\r
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);\r
+\r
return USB_Host_SendControlRequest(NULL);\r
}\r
\r
*/\r
uint8_t MassStore_MassStorageReset(void)\r
{\r
- USB_HostRequest = (USB_Host_Request_Header_t)\r
+ USB_ControlRequest = (USB_Request_Header_t)\r
{\r
- bmRequestType: (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),\r
- bRequest: REQ_MassStorageReset,\r
- wValue: 0,\r
- wIndex: 0,\r
- wLength: 0,\r
+ .bmRequestType = (REQDIR_HOSTTODEVICE | REQTYPE_CLASS | REQREC_INTERFACE),\r
+ .bRequest = REQ_MassStorageReset,\r
+ .wValue = 0,\r
+ .wIndex = 0,\r
+ .wLength = 0,\r
};\r
\r
+ /* Select the control pipe for the request transfer */\r
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);\r
+\r
return USB_Host_SendControlRequest(NULL);\r
}\r
\r
{\r
uint8_t ErrorCode;\r
\r
- USB_HostRequest = (USB_Host_Request_Header_t)\r
+ USB_ControlRequest = (USB_Request_Header_t)\r
{\r
- bmRequestType: (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),\r
- bRequest: REQ_GetMaxLUN,\r
- wValue: 0,\r
- wIndex: 0,\r
- wLength: 1,\r
+ .bmRequestType = (REQDIR_DEVICETOHOST | REQTYPE_CLASS | REQREC_INTERFACE),\r
+ .bRequest = REQ_GetMaxLUN,\r
+ .wValue = 0,\r
+ .wIndex = 0,\r
+ .wLength = 1,\r
};\r
\r
+ /* Select the control pipe for the request transfer */\r
+ Pipe_SelectPipe(PIPE_CONTROLPIPE);\r
+\r
if ((ErrorCode = USB_Host_SendControlRequest(MaxLUNIndex)) == HOST_SENDCONTROL_SetupStalled)\r
{\r
/* Clear the pipe stall */\r
*/\r
uint8_t MassStore_RequestSense(const uint8_t LUNIndex, const SCSI_Request_Sense_Response_t* const SensePtr)\r
{\r
- uint8_t ReturnCode = PIPE_RWSTREAM_ERROR_NoError;\r
+ uint8_t ReturnCode = PIPE_RWSTREAM_NoError;\r
\r
/* Create a CBW with a SCSI command to issue REQUEST SENSE command */\r
SCSICommandBlock = (CommandBlockWrapper_t)\r
{\r
- Header:\r
+ .Header =\r
{\r
- Signature: CBW_SIGNATURE,\r
- Tag: MassStore_Tag,\r
- DataTransferLength: sizeof(SCSI_Request_Sense_Response_t),\r
- Flags: COMMAND_DIRECTION_DATA_IN,\r
- LUN: LUNIndex,\r
- SCSICommandLength: 6\r
+ .Signature = CBW_SIGNATURE,\r
+ .Tag = MassStore_Tag,\r
+ .DataTransferLength = sizeof(SCSI_Request_Sense_Response_t),\r
+ .Flags = COMMAND_DIRECTION_DATA_IN,\r
+ .LUN = LUNIndex,\r
+ .SCSICommandLength = 6\r
},\r
\r
- SCSICommandData:\r
+ .SCSICommandData =\r
{\r
SCSI_CMD_REQUEST_SENSE,\r
0x00, // Reserved\r
MassStore_SendCommand();\r
\r
/* Wait until data received from the device */\r
- if ((ReturnCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
}\r
\r
/* Read the returned sense data into the buffer */\r
- if ((ReturnCode = MassStore_SendReceiveData((uint8_t*)SensePtr)) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_SendReceiveData((uint8_t*)SensePtr)) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
} \r
\r
/* Read in the returned CSW from the device */\r
- if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
/** Issues a SCSI Device Block Read command to the attached device, to read in one or more data blocks from the\r
uint8_t MassStore_ReadDeviceBlock(const uint8_t LUNIndex, const uint32_t BlockAddress,\r
const uint8_t Blocks, const uint16_t BlockSize, void* BufferPtr)\r
{\r
- uint8_t ReturnCode = PIPE_RWSTREAM_ERROR_NoError;\r
+ uint8_t ReturnCode = PIPE_RWSTREAM_NoError;\r
\r
/* Create a CBW with a SCSI command to read in the given blocks from the device */\r
SCSICommandBlock = (CommandBlockWrapper_t)\r
{\r
- Header:\r
+ .Header =\r
{\r
- Signature: CBW_SIGNATURE,\r
- Tag: MassStore_Tag,\r
- DataTransferLength: ((uint32_t)Blocks * BlockSize),\r
- Flags: COMMAND_DIRECTION_DATA_IN,\r
- LUN: LUNIndex,\r
- SCSICommandLength: 10\r
+ .Signature = CBW_SIGNATURE,\r
+ .Tag = MassStore_Tag,\r
+ .DataTransferLength = ((uint32_t)Blocks * BlockSize),\r
+ .Flags = COMMAND_DIRECTION_DATA_IN,\r
+ .LUN = LUNIndex,\r
+ .SCSICommandLength = 10\r
},\r
\r
- SCSICommandData:\r
+ .SCSICommandData =\r
{\r
SCSI_CMD_READ_10,\r
0x00, // Unused (control bits, all off)\r
MassStore_SendCommand();\r
\r
/* Wait until data received from the device */\r
- if ((ReturnCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
}\r
\r
/* Read the returned block data into the buffer */\r
- if ((ReturnCode = MassStore_SendReceiveData(BufferPtr)) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_SendReceiveData(BufferPtr)) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
} \r
\r
/* Read in the returned CSW from the device */\r
- if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
/** Issues a SCSI Device Block Write command to the attached device, to write one or more data blocks to the\r
uint8_t MassStore_WriteDeviceBlock(const uint8_t LUNIndex, const uint32_t BlockAddress,\r
const uint8_t Blocks, const uint16_t BlockSize, void* BufferPtr)\r
{\r
- uint8_t ReturnCode = PIPE_RWSTREAM_ERROR_NoError;\r
+ uint8_t ReturnCode = PIPE_RWSTREAM_NoError;\r
\r
/* Create a CBW with a SCSI command to write the given blocks to the device */\r
SCSICommandBlock = (CommandBlockWrapper_t)\r
{\r
- Header:\r
+ .Header =\r
{\r
- Signature: CBW_SIGNATURE,\r
- Tag: MassStore_Tag,\r
- DataTransferLength: ((uint32_t)Blocks * BlockSize),\r
- Flags: COMMAND_DIRECTION_DATA_OUT,\r
- LUN: LUNIndex,\r
- SCSICommandLength: 10\r
+ .Signature = CBW_SIGNATURE,\r
+ .Tag = MassStore_Tag,\r
+ .DataTransferLength = ((uint32_t)Blocks * BlockSize),\r
+ .Flags = COMMAND_DIRECTION_DATA_OUT,\r
+ .LUN = LUNIndex,\r
+ .SCSICommandLength = 10\r
},\r
\r
- SCSICommandData:\r
+ .SCSICommandData =\r
{\r
SCSI_CMD_WRITE_10,\r
0x00, // Unused (control bits, all off)\r
MassStore_SendCommand();\r
\r
/* Write the data to the device from the buffer */\r
- if ((ReturnCode = MassStore_SendReceiveData(BufferPtr)) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_SendReceiveData(BufferPtr)) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
} \r
\r
/* Read in the returned CSW from the device */\r
- if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
/** Issues a SCSI Device Test Unit Ready command to the attached device, to determine if the device is ready to accept\r
*/\r
uint8_t MassStore_TestUnitReady(const uint8_t LUNIndex)\r
{\r
- uint8_t ReturnCode = PIPE_RWSTREAM_ERROR_NoError; \r
+ uint8_t ReturnCode = PIPE_RWSTREAM_NoError; \r
\r
/* Create a CBW with a SCSI command to issue TEST UNIT READY command */\r
SCSICommandBlock = (CommandBlockWrapper_t)\r
{\r
- Header:\r
+ .Header =\r
{\r
- Signature: CBW_SIGNATURE,\r
- Tag: MassStore_Tag,\r
- DataTransferLength: 0,\r
- Flags: COMMAND_DIRECTION_DATA_IN,\r
- LUN: LUNIndex,\r
- SCSICommandLength: 6\r
+ .Signature = CBW_SIGNATURE,\r
+ .Tag = MassStore_Tag,\r
+ .DataTransferLength = 0,\r
+ .Flags = COMMAND_DIRECTION_DATA_IN,\r
+ .LUN = LUNIndex,\r
+ .SCSICommandLength = 6\r
},\r
\r
- SCSICommandData:\r
+ .SCSICommandData =\r
{\r
SCSI_CMD_TEST_UNIT_READY,\r
0x00, // Reserved\r
MassStore_SendCommand();\r
\r
/* Read in the returned CSW from the device */\r
- if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
/** Issues a SCSI Device Read Capacity command to the attached device, to determine the capacity of the\r
*/\r
uint8_t MassStore_ReadCapacity(const uint8_t LUNIndex, SCSI_Capacity_t* const CapacityPtr)\r
{\r
- uint8_t ReturnCode = PIPE_RWSTREAM_ERROR_NoError;\r
+ uint8_t ReturnCode = PIPE_RWSTREAM_NoError;\r
\r
/* Create a CBW with a SCSI command to issue READ CAPACITY command */\r
SCSICommandBlock = (CommandBlockWrapper_t)\r
{\r
- Header:\r
+ .Header =\r
{\r
- Signature: CBW_SIGNATURE,\r
- Tag: MassStore_Tag,\r
- DataTransferLength: 8,\r
- Flags: COMMAND_DIRECTION_DATA_IN,\r
- LUN: LUNIndex,\r
- SCSICommandLength: 10\r
+ .Signature = CBW_SIGNATURE,\r
+ .Tag = MassStore_Tag,\r
+ .DataTransferLength = sizeof(SCSI_Capacity_t),\r
+ .Flags = COMMAND_DIRECTION_DATA_IN,\r
+ .LUN = LUNIndex,\r
+ .SCSICommandLength = 10\r
},\r
\r
- SCSICommandData:\r
+ .SCSICommandData =\r
{\r
SCSI_CMD_READ_CAPACITY_10,\r
0x00, // Reserved\r
MassStore_SendCommand();\r
\r
/* Wait until data received from the device */\r
- if ((ReturnCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
}\r
\r
/* Read the returned capacity data into the buffer */\r
- if ((ReturnCode = MassStore_SendReceiveData(CapacityPtr)) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_SendReceiveData(CapacityPtr)) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
CapacityPtr->BlockSize = SwapEndian_32(CapacityPtr->BlockSize);\r
\r
/* Read in the returned CSW from the device */\r
- if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_NoError)\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r
\r
/** Issues a SCSI Device Prevent/Allow Medium Removal command to the attached device, to lock the physical media from\r
*/\r
uint8_t MassStore_PreventAllowMediumRemoval(const uint8_t LUNIndex, const bool PreventRemoval)\r
{\r
- uint8_t ReturnCode = PIPE_RWSTREAM_ERROR_NoError;\r
+ uint8_t ReturnCode = PIPE_RWSTREAM_NoError;\r
\r
/* Create a CBW with a SCSI command to issue PREVENT ALLOW MEDIUM REMOVAL command */\r
SCSICommandBlock = (CommandBlockWrapper_t)\r
{\r
- Header:\r
+ .Header =\r
{\r
- Signature: CBW_SIGNATURE,\r
- Tag: MassStore_Tag,\r
- DataTransferLength: 0,\r
- Flags: COMMAND_DIRECTION_DATA_OUT,\r
- LUN: LUNIndex,\r
- SCSICommandLength: 6\r
+ .Signature = CBW_SIGNATURE,\r
+ .Tag = MassStore_Tag,\r
+ .DataTransferLength = 0,\r
+ .Flags = COMMAND_DIRECTION_DATA_OUT,\r
+ .LUN = LUNIndex,\r
+ .SCSICommandLength = 6\r
},\r
\r
- SCSICommandData:\r
+ .SCSICommandData =\r
{\r
SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL,\r
0x00, // Reserved\r
MassStore_SendCommand();\r
\r
/* Read in the returned CSW from the device */\r
- if ((ReturnCode = MassStore_GetReturnedStatus()) != PIPE_RWSTREAM_ERROR_NoError)\r
+ if ((ReturnCode = MassStore_GetReturnedStatus()))\r
{\r
Pipe_Freeze();\r
return ReturnCode;\r
}\r
\r
- return PIPE_RWSTREAM_ERROR_NoError;\r
+ return PIPE_RWSTREAM_NoError;\r
}\r