mirror of
https://github.com/rvtr/ctr_eFuse.git
synced 2025-11-02 00:11:04 -04:00
初期化時にはどんな状態でも"リセット”は行うように戻した(復旧処理は行わない)
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@150 ff987cc8-cf2f-4642-8568-d52cce064691
This commit is contained in:
parent
0c7d36bbf1
commit
3c03a3110a
104
cr_hsm_code.c
104
cr_hsm_code.c
@ -358,60 +358,60 @@ int hsm_reset_module( void )
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return ret_code;
|
||||
}
|
||||
|
||||
NFastApp_Free_Command( handle, NULL, NULL, &cmd );
|
||||
NFastApp_Free_Reply( handle, NULL, NULL, &reply );
|
||||
|
||||
memset( &cmd, 0, sizeof( cmd ) );
|
||||
memset( &reply, 0, sizeof( reply ) );
|
||||
|
||||
// モジュールのリセット
|
||||
cmd.cmd = Cmd_ClearUnit;
|
||||
cmd.args.clearunit.module = HSM_MODULE_ID;
|
||||
ret_code = NFastApp_Transact( connection, NULL, &cmd, &reply, NULL );
|
||||
if ( ret_code != CR_GENID_SUCCESS )
|
||||
{
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return ret_code;
|
||||
}
|
||||
ret_code = reply.status;
|
||||
if ( ret_code != CR_GENID_SUCCESS )
|
||||
{
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return ret_code;
|
||||
}
|
||||
|
||||
NFastApp_Free_Command( handle, NULL, NULL, &cmd );
|
||||
NFastApp_Free_Reply( handle, NULL, NULL, &reply );
|
||||
|
||||
memset( &cmd, 0, sizeof( cmd ) );
|
||||
memset( &reply, 0, sizeof( reply ) );
|
||||
|
||||
// モジュールの状態を再度確認
|
||||
cmd.cmd = Cmd_NewEnquiry;
|
||||
cmd.args.newenquiry.module = HSM_MODULE_ID;
|
||||
cmd.args.newenquiry.version = EnqVer_Six;
|
||||
ret_code = NFastApp_Transact( connection, NULL, &cmd, &reply, NULL );
|
||||
if ( ret_code != CR_GENID_SUCCESS )
|
||||
{
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return ret_code;
|
||||
}
|
||||
ret_code = reply.status;
|
||||
if ( ret_code != CR_GENID_SUCCESS )
|
||||
{
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return ret_code;
|
||||
}
|
||||
|
||||
// 復旧しないようなら終了するしかない
|
||||
if ( reply.reply.newenquiry.flags & Cmd_NewEnquiry_Reply_flags_Failed )
|
||||
{
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return Status_HardwareFailed;
|
||||
}
|
||||
} // •œ‹Œ<E280B9>ˆ—<CB86>
|
||||
|
||||
NFastApp_Free_Command( handle, NULL, NULL, &cmd );
|
||||
NFastApp_Free_Reply( handle, NULL, NULL, &reply );
|
||||
|
||||
memset( &cmd, 0, sizeof( cmd ) );
|
||||
memset( &reply, 0, sizeof( reply ) );
|
||||
|
||||
// モジュールのリセット
|
||||
cmd.cmd = Cmd_ClearUnit;
|
||||
cmd.args.clearunit.module = HSM_MODULE_ID;
|
||||
ret_code = NFastApp_Transact( connection, NULL, &cmd, &reply, NULL );
|
||||
if ( ret_code != CR_GENID_SUCCESS )
|
||||
{
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return ret_code;
|
||||
}
|
||||
ret_code = reply.status;
|
||||
if ( ret_code != CR_GENID_SUCCESS )
|
||||
{
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return ret_code;
|
||||
}
|
||||
|
||||
NFastApp_Free_Command( handle, NULL, NULL, &cmd );
|
||||
NFastApp_Free_Reply( handle, NULL, NULL, &reply );
|
||||
|
||||
memset( &cmd, 0, sizeof( cmd ) );
|
||||
memset( &reply, 0, sizeof( reply ) );
|
||||
|
||||
// モジュールの状態を再度確認
|
||||
cmd.cmd = Cmd_NewEnquiry;
|
||||
cmd.args.newenquiry.module = HSM_MODULE_ID;
|
||||
cmd.args.newenquiry.version = EnqVer_Six;
|
||||
ret_code = NFastApp_Transact( connection, NULL, &cmd, &reply, NULL );
|
||||
if ( ret_code != CR_GENID_SUCCESS )
|
||||
{
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return ret_code;
|
||||
}
|
||||
ret_code = reply.status;
|
||||
if ( ret_code != CR_GENID_SUCCESS )
|
||||
{
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return ret_code;
|
||||
}
|
||||
|
||||
// まだ failed state ならば、終了するしかない
|
||||
if ( reply.reply.newenquiry.flags & Cmd_NewEnquiry_Reply_flags_Failed )
|
||||
{
|
||||
SetErrorInfo( __FUNCTION__, __LINE__ );
|
||||
return Status_HardwareFailed;
|
||||
}
|
||||
|
||||
// <20>Ø’f
|
||||
ret_code = NFastApp_Disconnect( hsmConnection, NULL );
|
||||
if ( ret_code != CR_GENID_SUCCESS )
|
||||
|
||||
Loading…
Reference in New Issue
Block a user