diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c b/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c index 58e74c47..d2183cdd 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/dsCardCommon.c @@ -203,7 +203,7 @@ HotSwState ReadStatusNormal(CardBootData *cbd) { GCDCmd64 cndLE; - cbd->romStatus = 0; + cbd->romStatus = HOTSW_ROMST_RFS_READY_MASK; if(!HOTSW_IsCardAccessible()){ return HOTSW_PULLED_OUT_ERROR; @@ -864,6 +864,8 @@ HotSwState ReadStatusGame(CardBootData *cbd) { GCDCmd64 cndLE; + cbd->romStatus = HOTSW_ROMST_RFS_READY_MASK; + if(!HOTSW_IsCardAccessible()){ return HOTSW_PULLED_OUT_ERROR; } diff --git a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c index b797d7e1..1ce0f992 100644 --- a/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c +++ b/build/libraries_sysmenu/hotsw/ARM7/src/hotsw.c @@ -700,6 +700,16 @@ HotSwState HOTSWi_RefreshBadBlock(u32 romMode) { state = pRefreshBadBlock(&s_cbData); retval = (retval == HOTSW_SUCCESS) ? state : retval; + while (1) + { + state = pReadStatus(&s_cbData); + retval = (retval == HOTSW_SUCCESS) ? state : retval; + if ( s_cbData.romStatus & HOTSW_ROMST_RFS_READY_MASK || + (retval != HOTSW_SUCCESS) ) + { + break; + } + } } }