mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
HOTSTART時に、無線データセグメントが失われていた場合(DSモードからのHWリセットとか。)
一時的なWorkaroundとして、COLDSTART扱いにするように変更。 (RC版ドライバのChip1.1では、Datasegmentがサポートされていないため、常にCOLD扱いになります。) git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@915 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
706b2c4217
commit
b7f941d9d9
@ -342,14 +342,36 @@ void PrintDigest(u8 *digest)
|
|||||||
BOOL InstallWlanFirmware(void)
|
BOOL InstallWlanFirmware(void)
|
||||||
{
|
{
|
||||||
NWMRetCode err;
|
NWMRetCode err;
|
||||||
|
BOOL isColdStart;
|
||||||
|
|
||||||
pNwmBuf = 0;
|
pNwmBuf = 0;
|
||||||
pFwBuffer = 0;
|
pFwBuffer = 0;
|
||||||
|
|
||||||
OS_InitMessageQueue(&mesq, mesAry, sizeof(mesAry)/sizeof(mesAry[0]));
|
OS_InitMessageQueue(&mesq, mesAry, sizeof(mesAry)/sizeof(mesAry[0]));
|
||||||
|
|
||||||
/* HotStart/ColdStart‚̃`ƒFƒbƒN */
|
/* HotStart/ColdStart‚̃`ƒFƒbƒN */
|
||||||
|
/*
|
||||||
|
[TODO:] DSモードからHWリセットされた場合、パラメータ領域の無線DataSegmentは
|
||||||
|
失われる。この場合、DataSegmentをセットし直すために、
|
||||||
|
NANDからのFW読み直しを行わなければならない。
|
||||||
|
TemporallyなWorkaroundとして、この場合はColdStart扱いにしています。
|
||||||
|
初期化時間等の要因を鑑みて、本実装をどうするか検討します。
|
||||||
|
*/
|
||||||
if (TRUE == SYSMi_GetWork()->flags.common.isHotStart)
|
if (TRUE == SYSMi_GetWork()->flags.common.isHotStart)
|
||||||
|
{
|
||||||
|
isColdStart = FALSE;
|
||||||
|
|
||||||
|
// Check integrity of WLAN data segment
|
||||||
|
if (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) {
|
||||||
@ -364,7 +386,7 @@ BOOL InstallWlanFirmware(void)
|
|||||||
// HotStart
|
// HotStart
|
||||||
NWM_Init(pNwmBuf, NWM_SYSTEM_BUF_SIZE, 3); /* 3 -> DMA no. */
|
NWM_Init(pNwmBuf, NWM_SYSTEM_BUF_SIZE, 3); /* 3 -> DMA no. */
|
||||||
err = NWMi_InstallFirmware(InstallFirmCallback, NULL, 0, FALSE);
|
err = NWMi_InstallFirmware(InstallFirmCallback, NULL, 0, FALSE);
|
||||||
} else {
|
} else { // COLD START
|
||||||
s32 flen = 0;
|
s32 flen = 0;
|
||||||
char path[256];
|
char path[256];
|
||||||
u32 offset, length;
|
u32 offset, length;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user