mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
無線ファームのデータセグメントチェックを削除。
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1191 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
0fb3b3bbc9
commit
5f6fa19876
@ -172,6 +172,8 @@ s32 ReadFirmwareHeader(char *path, u8 *buffer, s32 bufSize)
|
|||||||
FSFile file[1];
|
FSFile file[1];
|
||||||
s32 flen;
|
s32 flen;
|
||||||
|
|
||||||
|
FS_InitFile( file );
|
||||||
|
|
||||||
if (!FS_OpenFileEx(file, path, FS_FILEMODE_R)) {
|
if (!FS_OpenFileEx(file, path, FS_FILEMODE_R)) {
|
||||||
OS_TWarning("FS_OpenFileEx(%s) failed.\n", path);
|
OS_TWarning("FS_OpenFileEx(%s) failed.\n", path);
|
||||||
return -1;
|
return -1;
|
||||||
@ -198,6 +200,8 @@ s32 ReadFirmwareBinary(char *path, u32 offset, u8 *buffer, s32 bufSize)
|
|||||||
FSFile file[1];
|
FSFile file[1];
|
||||||
s32 flen;
|
s32 flen;
|
||||||
|
|
||||||
|
FS_InitFile( file );
|
||||||
|
|
||||||
if (!FS_OpenFileEx(file, path, FS_FILEMODE_R)) {
|
if (!FS_OpenFileEx(file, path, FS_FILEMODE_R)) {
|
||||||
OS_TWarning("FS_OpenFileEx(%s) failed.\n", path);
|
OS_TWarning("FS_OpenFileEx(%s) failed.\n", path);
|
||||||
return -1;
|
return -1;
|
||||||
@ -379,7 +383,6 @@ void PrintDigest(u8 *digest)
|
|||||||
BOOL InstallWlanFirmware( BOOL isHotStartWLFirm )
|
BOOL InstallWlanFirmware( BOOL isHotStartWLFirm )
|
||||||
{
|
{
|
||||||
NWMRetCode err;
|
NWMRetCode err;
|
||||||
BOOL isColdStart;
|
|
||||||
|
|
||||||
s_isFinished = FALSE;
|
s_isFinished = FALSE;
|
||||||
pNwmBuf = 0;
|
pNwmBuf = 0;
|
||||||
@ -391,30 +394,7 @@ BOOL InstallWlanFirmware( BOOL isHotStartWLFirm )
|
|||||||
|
|
||||||
s_isHotStartWLFirm = isHotStartWLFirm;
|
s_isHotStartWLFirm = isHotStartWLFirm;
|
||||||
|
|
||||||
if (TRUE == isHotStartWLFirm )
|
if (TRUE == isHotStartWLFirm) // HOT START
|
||||||
{
|
|
||||||
u8 fwType;
|
|
||||||
|
|
||||||
isColdStart = FALSE;
|
|
||||||
|
|
||||||
// FWタイプが1のときのみData segmentの正当性をチェックする。
|
|
||||||
|
|
||||||
// [TODO:] TWL無線ドライバRC版のためのWorkaround
|
|
||||||
// その後のドライバは、Data segmentが廃止される。
|
|
||||||
// ドライバがバージョンアップされたら、この処理は削除する予定。
|
|
||||||
fwType = (u8)( ((NWMFirmDataSegment *)NWM_PARAM_FWDATA_ADDRESS)->fwType );
|
|
||||||
|
|
||||||
// Check integrity of WLAN data segment
|
|
||||||
if (fwType == 1 && FALSE == NWMi_CheckFwDataIntegrity())
|
|
||||||
{
|
|
||||||
isColdStart = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
isColdStart = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (FALSE == isColdStart) // HOT START
|
|
||||||
{
|
{
|
||||||
pNwmBuf = SYSM_Alloc( NWM_SYSTEM_BUF_SIZE );
|
pNwmBuf = SYSM_Alloc( NWM_SYSTEM_BUF_SIZE );
|
||||||
if (!pNwmBuf) {
|
if (!pNwmBuf) {
|
||||||
@ -432,18 +412,17 @@ BOOL InstallWlanFirmware( BOOL isHotStartWLFirm )
|
|||||||
} else { // COLD START
|
} else { // COLD START
|
||||||
s32 flen = 0;
|
s32 flen = 0;
|
||||||
char path[256];
|
char path[256];
|
||||||
u32 offset, length;
|
u32 offset, length, fwType;
|
||||||
u8 hdrBuffer[FWHEADER_SIZE];
|
u8 hdrBuffer[FWHEADER_SIZE];
|
||||||
u8 *pHash = NULL;
|
u8 *pHash = NULL;
|
||||||
u32 fwType;
|
|
||||||
|
|
||||||
// ColdStart
|
// Get Filepath
|
||||||
if (FALSE == GetFirmwareFilepath(path)) {
|
if (FALSE == GetFirmwareFilepath(path)) {
|
||||||
goto instfirm_error;
|
goto instfirm_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get WLAN Firmware type
|
// Get WLAN Firmware type
|
||||||
fwType = ((NWMFirmDataSegment *)NWM_PARAM_FWDATA_ADDRESS)->fwType;
|
fwType = ((NWMFirmDataParam *)NWM_PARAM_FWDATA_ADDRESS)->fwType;
|
||||||
OS_TPrintf("[Wlan Firm] FWtype is %d\n", fwType);
|
OS_TPrintf("[Wlan Firm] FWtype is %d\n", fwType);
|
||||||
|
|
||||||
// Read header of WLAN firm
|
// Read header of WLAN firm
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user