More endianness porting of the LUFA host mode class drivers.
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / MassStorage.c
index 2b7d88e..65ed694 100644 (file)
@@ -88,7 +88,7 @@ uint8_t MS_Host_ConfigurePipes(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
 
                if (PipeNum == MSInterfaceInfo->Config.DataINPipeNumber)
                {
-                       Size            = DataINEndpoint->EndpointSize;
+                       Size            = le16_to_cpu(DataINEndpoint->EndpointSize);
                        EndpointAddress = DataINEndpoint->EndpointAddress;
                        Token           = PIPE_TOKEN_IN;
                        Type            = EP_TYPE_BULK;
@@ -98,7 +98,7 @@ uint8_t MS_Host_ConfigurePipes(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
                }
                else if (PipeNum == MSInterfaceInfo->Config.DataOUTPipeNumber)
                {
-                       Size            = DataOUTEndpoint->EndpointSize;
+                       Size            = le16_to_cpu(DataOUTEndpoint->EndpointSize);
                        EndpointAddress = DataOUTEndpoint->EndpointAddress;
                        Token           = PIPE_TOKEN_OUT;
                        Type            = EP_TYPE_BULK;
@@ -175,8 +175,8 @@ static uint8_t MS_Host_SendCommand(USB_ClassInfo_MS_Host_t* const MSInterfaceInf
        if (++MSInterfaceInfo->State.TransactionTag == 0xFFFFFFFF)
          MSInterfaceInfo->State.TransactionTag = 1;
 
-       SCSICommandBlock->Signature = MS_CBW_SIGNATURE;
-       SCSICommandBlock->Tag       = MSInterfaceInfo->State.TransactionTag;
+       SCSICommandBlock->Signature = CPU_TO_LE32(MS_CBW_SIGNATURE);
+       SCSICommandBlock->Tag       = cpu_to_le32(MSInterfaceInfo->State.TransactionTag);
 
        Pipe_SelectPipe(MSInterfaceInfo->Config.DataOUTPipeNumber);
        Pipe_Unfreeze();
@@ -260,7 +260,7 @@ static uint8_t MS_Host_SendReceiveData(USB_ClassInfo_MS_Host_t* const MSInterfac
                                        void* BufferPtr)
 {
        uint8_t  ErrorCode = PIPE_RWSTREAM_NoError;
-       uint16_t BytesRem  = SCSICommandBlock->DataTransferLength;
+       uint16_t BytesRem  = le32_to_cpu(SCSICommandBlock->DataTransferLength);
 
        if (SCSICommandBlock->Flags & MS_COMMAND_DIR_DATA_IN)
        {
@@ -358,7 +358,7 @@ uint8_t MS_Host_GetMaxLUN(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
 
        Pipe_SelectPipe(PIPE_CONTROLPIPE);
 
-       if ((ErrorCode = USB_Host_SendControlRequest(MaxLUNIndex)) != HOST_SENDCONTROL_Successful)
+       if ((ErrorCode = USB_Host_SendControlRequest(MaxLUNIndex)) == HOST_SENDCONTROL_SetupStalled)
        {
                *MaxLUNIndex = 0;
                ErrorCode    = HOST_SENDCONTROL_Successful;
@@ -378,7 +378,7 @@ uint8_t MS_Host_GetInquiryData(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
 
        MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .DataTransferLength = sizeof(SCSI_Inquiry_Response_t),
+                       .DataTransferLength = CPU_TO_LE32(sizeof(SCSI_Inquiry_Response_t)),
                        .Flags              = MS_COMMAND_DIR_DATA_IN,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 6,
@@ -414,7 +414,7 @@ uint8_t MS_Host_TestUnitReady(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
 
        MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .DataTransferLength = 0,
+                       .DataTransferLength = CPU_TO_LE32(0),
                        .Flags              = MS_COMMAND_DIR_DATA_IN,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 6,
@@ -451,7 +451,7 @@ uint8_t MS_Host_ReadDeviceCapacity(USB_ClassInfo_MS_Host_t* const MSInterfaceInf
 
        MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .DataTransferLength = sizeof(SCSI_Capacity_t),
+                       .DataTransferLength = CPU_TO_LE32(sizeof(SCSI_Capacity_t)),
                        .Flags              = MS_COMMAND_DIR_DATA_IN,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 10,
@@ -475,8 +475,8 @@ uint8_t MS_Host_ReadDeviceCapacity(USB_ClassInfo_MS_Host_t* const MSInterfaceInf
        if ((ErrorCode = MS_Host_SendCommand(MSInterfaceInfo, &SCSICommandBlock, DeviceCapacity)) != PIPE_RWSTREAM_NoError)
          return ErrorCode;
 
-       SwapEndian_n(&DeviceCapacity->Blocks,    sizeof(DeviceCapacity->Blocks));
-       SwapEndian_n(&DeviceCapacity->BlockSize, sizeof(DeviceCapacity->BlockSize));
+       DeviceCapacity->Blocks    = BE32_TO_CPU(DeviceCapacity->Blocks);
+       DeviceCapacity->BlockSize = BE32_TO_CPU(DeviceCapacity->BlockSize);
 
        if ((ErrorCode = MS_Host_GetReturnedStatus(MSInterfaceInfo, &SCSICommandStatus)) != PIPE_RWSTREAM_NoError)
          return ErrorCode;
@@ -495,7 +495,7 @@ uint8_t MS_Host_RequestSense(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
 
        MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .DataTransferLength = sizeof(SCSI_Request_Sense_Response_t),
+                       .DataTransferLength = CPU_TO_LE32(sizeof(SCSI_Request_Sense_Response_t)),
                        .Flags              = MS_COMMAND_DIR_DATA_IN,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 6,
@@ -532,7 +532,7 @@ uint8_t MS_Host_PreventAllowMediumRemoval(USB_ClassInfo_MS_Host_t* const MSInter
 
        MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .DataTransferLength = 0,
+                       .DataTransferLength = CPU_TO_LE32(0),
                        .Flags              = MS_COMMAND_DIR_DATA_OUT,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 6,
@@ -572,7 +572,7 @@ uint8_t MS_Host_ReadDeviceBlocks(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo,
 
        MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .DataTransferLength = ((uint32_t)Blocks * BlockSize),
+                       .DataTransferLength = cpu_to_le32((uint32_t)Blocks * BlockSize),
                        .Flags              = MS_COMMAND_DIR_DATA_IN,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 10,
@@ -616,7 +616,7 @@ uint8_t MS_Host_WriteDeviceBlocks(USB_ClassInfo_MS_Host_t* const MSInterfaceInfo
 
        MS_CommandBlockWrapper_t SCSICommandBlock = (MS_CommandBlockWrapper_t)
                {
-                       .DataTransferLength = ((uint32_t)Blocks * BlockSize),
+                       .DataTransferLength = cpu_to_le32((uint32_t)Blocks * BlockSize),
                        .Flags              = MS_COMMAND_DIR_DATA_OUT,
                        .LUN                = LUNIndex,
                        .SCSICommandLength  = 10,