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,6 +342,7 @@ void PrintDigest(u8 *digest)
|
||||
BOOL InstallWlanFirmware(void)
|
||||
{
|
||||
NWMRetCode err;
|
||||
BOOL isColdStart;
|
||||
|
||||
pNwmBuf = 0;
|
||||
pFwBuffer = 0;
|
||||
@ -349,7 +350,28 @@ BOOL InstallWlanFirmware(void)
|
||||
OS_InitMessageQueue(&mesq, mesAry, sizeof(mesAry)/sizeof(mesAry[0]));
|
||||
|
||||
/* HotStart/ColdStart‚̃`ƒFƒbƒN */
|
||||
/*
|
||||
[TODO:] DSモードからHWリセットされた場合、パラメータ領域の無線DataSegmentは
|
||||
失われる。この場合、DataSegmentをセットし直すために、
|
||||
NANDからのFW読み直しを行わなければならない。
|
||||
TemporallyなWorkaroundとして、この場合はColdStart扱いにしています。
|
||||
初期化時間等の要因を鑑みて、本実装をどうするか検討します。
|
||||
*/
|
||||
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 );
|
||||
if (!pNwmBuf) {
|
||||
@ -364,7 +386,7 @@ BOOL InstallWlanFirmware(void)
|
||||
// HotStart
|
||||
NWM_Init(pNwmBuf, NWM_SYSTEM_BUF_SIZE, 3); /* 3 -> DMA no. */
|
||||
err = NWMi_InstallFirmware(InstallFirmCallback, NULL, 0, FALSE);
|
||||
} else {
|
||||
} else { // COLD START
|
||||
s32 flen = 0;
|
||||
char path[256];
|
||||
u32 offset, length;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user