+ if( LittleEndian32(csw.dCSWSignature) != MSC_CSW_SIGNATURE ) {
+ Log_Warning("MSC", "CSW Signature invalid %x!=exp %x",
+ LittleEndian32(csw.dCSWSignature), MSC_CSW_SIGNATURE);
+ }
+ if( csw.dCSWTag != cbw.dCBWTag ) {
+ Log_Warning("MSC", "Recv - CSW tag (%x) doesn't match CBW tag (%x)",
+ LittleEndian32(csw.dCSWTag), LittleEndian32(cbw.dCBWTag));
+ }
+ if( LittleEndian32(csw.dCSWDataResidue) > DataLen ) {
+ Log_Warning("MSC", "Recv - CSW residue (0x%x) is larger than DatLen (0x%x)",
+ LittleEndian32(csw.dCSWDataResidue), DataLen);
+ }
+ if( csw.bCSWStatus != 0x00 ) {
+ Log_Warning("MWC", "Recv - CSW indicated error (Status=%02x, Residue=0x%x/0x%x)",
+ csw.bCSWStatus, LittleEndian32(csw.dCSWDataResidue), DataLen);
+ }
+
+ return (csw.bCSWStatus != 0x00);