summaryrefslogtreecommitdiff
path: root/drivers/staging/keucr/smilsub.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/keucr/smilsub.c')
-rw-r--r--drivers/staging/keucr/smilsub.c69
1 files changed, 18 insertions, 51 deletions
diff --git a/drivers/staging/keucr/smilsub.c b/drivers/staging/keucr/smilsub.c
index ce10cf2..6dbc81de 100644
--- a/drivers/staging/keucr/smilsub.c
+++ b/drivers/staging/keucr/smilsub.c
@@ -1482,54 +1482,40 @@ BYTE _Check_D_DevCode(BYTE dcode)
//----- Check_D_ReadError() ----------------------------------------------
int Check_D_ReadError(BYTE *redundant)
{
- // Driver 不做 ECC Check
- return(SUCCESS);
- if (!StringCmp((char *)(redundant+0x0D),(char *)EccBuf,3))
- if (!StringCmp((char *)(redundant+0x08),(char *)(EccBuf+0x03),3))
- return(SUCCESS);
-
- return(ERROR);
+ return SUCCESS;
}
//----- Check_D_Correct() ----------------------------------------------
int Check_D_Correct(BYTE *buf,BYTE *redundant)
{
- // Driver 不做 ECC Check
- return(SUCCESS);
- if (StringCmp((char *)(redundant+0x0D),(char *)EccBuf,3))
- if (_Correct_D_SwECC(buf,redundant+0x0D,EccBuf))
- return(ERROR);
-
- buf+=0x100;
- if (StringCmp((char *)(redundant+0x08),(char *)(EccBuf+0x03),3))
- if (_Correct_D_SwECC(buf,redundant+0x08,EccBuf+0x03))
- return(ERROR);
-
- return(SUCCESS);
+ return SUCCESS;
}
//----- Check_D_CISdata() ----------------------------------------------
int Check_D_CISdata(BYTE *buf, BYTE *redundant)
{
- BYTE cis[]={0x01,0x03,0xD9,0x01,0xFF,0x18,0x02,0xDF,0x01,0x20};
+ BYTE cis[] = {0x01, 0x03, 0xD9, 0x01, 0xFF, 0x18, 0x02,
+ 0xDF, 0x01, 0x20};
+
+ int cis_len = sizeof(cis);
- if (!IsSSFDCCompliance && !IsXDCompliance)
- return(SUCCESS); // 目前為強制 SUCCESS [Arnold 02-08-23] SSFDC 測試, 不能強制 SUCCESS
+ if (!IsSSFDCCompliance && !IsXDCompliance)
+ return SUCCESS;
- if (!StringCmp((char *)(redundant+0x0D),(char *)EccBuf,3))
- return(StringCmp((char *)buf,(char *)cis,10));
+ if (!memcmp(redundant + 0x0D, EccBuf, 3))
+ return memcmp(buf, cis, cis_len);
- if (!_Correct_D_SwECC(buf,redundant+0x0D,EccBuf))
- return(StringCmp((char *)buf,(char *)cis,10));
+ if (!_Correct_D_SwECC(buf, redundant + 0x0D, EccBuf))
+ return memcmp(buf, cis, cis_len);
- buf+=0x100;
- if (!StringCmp((char *)(redundant+0x08),(char *)(EccBuf+0x03),3))
- return(StringCmp((char *)buf,(char *)cis,10));
+ buf += 0x100;
+ if (!memcmp(redundant + 0x08, EccBuf + 0x03, 3))
+ return memcmp(buf, cis, cis_len);
- if (!_Correct_D_SwECC(buf,redundant+0x08,EccBuf+0x03))
- return(StringCmp((char *)buf,(char *)cis,10));
+ if (!_Correct_D_SwECC(buf, redundant + 0x08, EccBuf + 0x03))
+ return memcmp(buf, cis, cis_len);
- return(ERROR);
+ return ERROR;
}
//----- Set_D_RightECC() ----------------------------------------------
@@ -1589,25 +1575,6 @@ char Bit_D_CountWord(WORD cdata)
return((char)bitcount);
}
-void StringCopy(char *stringA, char *stringB, int count)
-{
- int i;
-
- for(i=0; i<count; i++)
- *stringA++ = *stringB++;
-}
-
-//-----
-int StringCmp(char *stringA, char *stringB, int count)
-{
- int i;
-
- for (i=0;i<count;i++)
- if (*stringA++ != *stringB++)
- return(ERROR);
-
- return(SUCCESS);
-}
/*
//----- SM_ReadBlock() ---------------------------------------------
int SM_ReadBlock(PFDO_DEVICE_EXTENSION fdoExt, BYTE *buf,BYTE *redundant)